- Home
- Categorie
- Coding e Sistemistica
- WordPress
- Migliorare l'indicizzazione ed il posizionamento - WordPress
-
ho modificato il file header.php di wordpress così:
(la parte inziale è rimasta modificata, ho modifcato solo quello in grassetto)<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head profile="http://gmpg.org/xfn/11"> <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /> SOTTO E' LA PARTE MODIFICATA <title> <?php wp_title(); ?> </title> <meta name="keywords" content="<?php wp_title(); ?>" /> <meta name="description" content="<?php wp_title(); ?>" />
ora il titolo della pagina appare così:
» una giornata al mare
» mi son comprato la macchina
...cioè inizia sempre con questo segno** »** !!
voglio togliere** » **
cosa devo modificare per eliminare questo problema???
-
Non ci ho mai pensato, il codice html di quel >> è »
-
Ciao allora la funzione che genera quella stringa si trova nel file wordpress\wp-includes\template-functions-general.php ed e' la seguente:```
function wp_title($sep = '»', $display = true) {
global $wpdb;
global $m, $year, $monthnum, $day, $category_name, $month, $posts;$cat = get_query_var('cat'); $p = get_query_var('p'); $name = get_query_var('name'); $category_name = get_query_var('category_name'); // If there's a category if(!empty($cat)) { if (!stristr($cat,'-')) { // category excluded $title = get_the_category_by_ID($cat); } } if (!empty($category_name)) { if (stristr($category_name,'/')) { $category_name = explode('/',$category_name); if ($category_name[count($category_name)-1]) { $category_name = $category_name[count($category_name)-1]; // no trailing slash } else { $category_name = $category_name[count($category_name)-2]; // there was a trailling slash } } $title = $wpdb->get_var("SELECT cat_name FROM $wpdb->categories WHERE category_nicename = '$category_name'"); } // If there's a month if(!empty($m)) { $my_year = substr($m, 0, 4); $my_month = $month[substr($m, 4, 2)]; $title = "$my_year $sep $my_month"; } if (!empty($year)) { $title = $year; if (!empty($monthnum)) { $title .= " $sep ".$month[zeroise($monthnum, 2)]; } if (!empty($day)) { $title .= " $sep ".zeroise($day, 2); } } // If there's a post if (is_single() || is_page()) { $title = strip_tags($posts[0]->post_title); $title = apply_filters('single_post_title', $title); } // Send it out if ($display && isset($title)) { echo " $sep $title"; } elseif (!$display && isset($title)) { return " $sep $title"; }
}
In particolare ti interessa la prima riga:
function wp_title($sep = '»', $display = true)La variabile ``` $sep = '»' ``` e' proprio il separatore, che di default e' » che corrisponde a ». Se cancelli » dovresti risolvere il tuo problema. Pero' il separatore non uscirebbe piu' nemmeno quando invece servirebbe.
function wp_title($sep = '', $display = true)
La cosa ideale da fare sarebbe fare un semplice copia-incolla e creare una nuova funzione wp_title2, nello stesso file, identica alla prima tranne per il nome e per il fatto che non inserisce il separatore. Cosi' puoi utilizzare quella per inserire i meta tag. :)
-
La cosa ideale da fare sarebbe fare un semplice copia-incolla e creare una nuova funzione wp_title2, nello stesso file, identica alla prima tranne per il nome e per il fatto che non inserisce il separatore. Cosi' puoi utilizzare quella per inserire i Meta Tag
grazie claudioweb
posso chiederti come e dove creare la nuova funzione wp_title2 ?
-
Semplicemente sotto a quella gia' presente:```
function wp_title($sep = '»', $display = true) {
global $wpdb;
global $m, $year, $monthnum, $day, $category_name, $month, $posts;$cat = get_query_var('cat'); $p = get_query_var('p'); $name = get_query_var('name'); $category_name = get_query_var('category_name'); // If there's a category if(!empty($cat)) { if (!stristr($cat,'-')) { // category excluded $title = get_the_category_by_ID($cat); } } if (!empty($category_name)) { if (stristr($category_name,'/')) { $category_name = explode('/',$category_name); if ($category_name[count($category_name)-1]) { $category_name = $category_name[count($category_name)-1]; // no trailing slash } else { $category_name = $category_name[count($category_name)-2]; // there was a trailling slash } } $title = $wpdb->get_var("SELECT cat_name FROM $wpdb->categories WHERE category_nicename = '$category_name'"); } // If there's a month if(!empty($m)) { $my_year = substr($m, 0, 4); $my_month = $month[substr($m, 4, 2)]; $title = "$my_year $sep $my_month"; } if (!empty($year)) { $title = $year; if (!empty($monthnum)) { $title .= " $sep ".$month[zeroise($monthnum, 2)]; } if (!empty($day)) { $title .= " $sep ".zeroise($day, 2); } } // If there's a post if (is_single() || is_page()) { $title = strip_tags($posts[0]->post_title); $title = apply_filters('single_post_title', $title); } // Send it out if ($display && isset($title)) { echo " $sep $title"; } elseif (!$display && isset($title)) { return " $sep $title"; }
}
function wp_title2($sep = '', $display = true) {
global $wpdb;
global $m, $year, $monthnum, $day, $category_name, $month, $posts;$cat = get_query_var('cat'); $p = get_query_var('p'); $name = get_query_var('name'); $category_name = get_query_var('category_name'); // If there's a category if(!empty($cat)) { if (!stristr($cat,'-')) { // category excluded $title = get_the_category_by_ID($cat); } } if (!empty($category_name)) { if (stristr($category_name,'/')) { $category_name = explode('/',$category_name); if ($category_name[count($category_name)-1]) { $category_name = $category_name[count($category_name)-1]; // no trailing slash } else { $category_name = $category_name[count($category_name)-2]; // there was a trailling slash } } $title = $wpdb->get_var("SELECT cat_name FROM $wpdb->categories WHERE category_nicename = '$category_name'"); } // If there's a month if(!empty($m)) { $my_year = substr($m, 0, 4); $my_month = $month[substr($m, 4, 2)]; $title = "$my_year $sep $my_month"; } if (!empty($year)) { $title = $year; if (!empty($monthnum)) { $title .= " $sep ".$month[zeroise($monthnum, 2)]; } if (!empty($day)) { $title .= " $sep ".zeroise($day, 2); } } // If there's a post if (is_single() || is_page()) { $title = strip_tags($posts[0]->post_title); $title = apply_filters('single_post_title', $title); } // Send it out if ($display && isset($title)) { echo " $sep $title"; } elseif (!$display && isset($title)) { return " $sep $title"; }
}
Il copia-incolla e' il miglior amico dei programmatori ;)
-
ok, quindi:
-
creo wp_title2 nel file "wordpress\wp-includes*template-functions-general.php*"
-
modifico nel file "header.php"
<title> <?php wp_title(); ?> </title>
con
<title> <?php wp_title2(); ?> </title>
GIUSTO???
PS. ma aggiungere tutto quell'altro codice nel file "wordpress\wp-includes*template-functions-general.php*" non è che rende troppo pesante il processo???
-
-
@platinum said:
ok, quindi:
-
creo wp_title2 nel file "wordpress\wp-includes*template-functions-general.php*"
-
modifico nel file "header.php"
<title> <?php wp_title(); ?> </title>
con
<title> <?php wp_title2(); ?> </title>
GIUSTO???
PS. ma aggiungere tutto quell'altro codice nel file "wordpress\wp-includes*template-functions-general.php*" non è che rende troppo pesante il processo???Si giusto. Non si tratta di operazioni che richiedono grandi risorse... sono solo poche righe. Il server dovra' solo lavorare un pochino in piu', mentre il codice che gli utenti del sito vedranno sara' pulito come prima.
Certo si potrebbe anche provare a riscriverla un po' piu' snella la funzione, dovrebbero bastare solo poche righe di codice. Ma alla fine il risultato non cambia... quindi mi risparmio la fatica
-
-
claudioweb ti ringrazio non solo per la mano che mi hai dato nel postare il codice modificato, ma soprattutto per la chiarezza espositiva
-
<title> <?php wp_title2(); ?> - <?php bloginfo('name'); ?> - </title> <meta name="keywords" content="<?php wp_title2(); ?>" /> <meta name="description" content="<?php wp_title2(); ?>" />
solo per precisione: per quanto riguarda il <title> conviene adottare questo formato con "-" ai lati di <?php bloginfo('name'); ?> per una maggiore chiarezza visiva nel title
oppure usare ":" o "|" o un altro segno
questo per evitare che in categorie, archivi e altrove si creino confusioni tra titolo del blog e titolo dell'articolo (post)
-
In generale userei | ma in questo caso per uniformarmi a wordpress userei proprio » cioe' » .
-
Visto che mi sembra (In Topic) segnalo questo post per l'ottimizzazione di WP: http://www.yellow-llama.com/2005/seo-your-wordpress-blog/