Sitemap in Wordpress
Discutind cu unul si cu altul am inteles ca e mare bataie de cap sa-ti faci un sitemap care sa functioneze bine. Exista plugin-uri, dar ele consuma [nejustificat de multe] resurse, dau diverse batai de cap la upgrade (voi chiar faceti upgrade ?! de ce ?!) si in general cauzeaza.
Eu folosesc bineinteles o solutie simpla, dezvoltata in-house. Cam de-un an de zile asa, si nu pot zice ca imi pare rau. Daca doriti s-o folositi si dumneavoastra, tot ce aveti de facut e sa copiati codul de mai jos intr-un fisier php, pe care sa-l puneti intr-un director si sa-l introduceti ca sitemap in google.com/tools/webmasters
$db_name = '{numele bazei de date}';
$db_user = '{numele agentului}';
$db_pass = '{parola}';
$table_prefix = '{prefixul tabelelor, daca aveti}';$nconnection = mysql_connect("localhost:3306", $db_user, $db_pass );
mysql_select_db($db_name, $nconnection);$query = 'SELECT post_name, FROM '.$table_prefix.'posts WHERE post_type ="post" ORDER BY post_date DESC';
$record=mysql_query($query);while ($row = mysql_fetch_array($record, MYSQL_NUM)) {
$year = substr($row[1],0,4);
$name = 'http://trilema.com/'.$year.'/'.$row[0].'/';
echo $name,"\r";
}
Evident, inlocuiti parolele, numele etc. Asta este tot.
Nu, nu va doriti versiunea XML, pentru ca este pe de-o parte prea mare (ceea ce va consuma banda, pe de-o parte, si va apropie de limitele trasate de Google, pe de cealalta) si pentru ca nu face defapt nimic util sau in plus fata de asta simpla.
Daca totusi insistati sa folositi XML, inlocuiti partea de while de mai sus cu
while ( $row = mysql_fetch_array($record, MYSQL_NUM)) {
$year = substr($row[1],0,4);
$name = 'http://trilema.com/'.$year.'/'.$row[0].'/';
echo " <url>\r";
echo " <loc>",$name,"</loc>\r";
echo " <lastmod>",$row[1],"</lastmod>\r";
echo " <changefreq>yearly</changefreq>\r";
echo " <priority>0.5000</priority>\r";
echo " </url>\r";
}
Puteti bineinteles sa va jucati cu prioritatile, eventual punind o ordine crescatoare sau descrescatoare cu un counter, sau folosind o functie aleatorie daca creditati teoria ca asta ajuta la indexare (e un mit, nu ajuta) si asa mai departe. Va pierdeti vremea cu XML-ul, da' vorba ceea, pe bloaga lui fiecare-si pierde timpu' cum doreste.
Evident, daca folositi alta schema decit cea cu nume_blog/an/nume_articol (si foarte rau faceti) aveti a mai prelucra putin assignment-ul $name=
Principalul avantaj al acestei solutii este ca odata instalata nu mai trebuie sa va ginditi la ea niciodata, eu n-am atins-o de-atunci, azi am deschis fisierul pentru prima oara, ca sa-l copiez aici.
PS. Atentie, ca intotdeauna, la ghilimele cind copiati, wordpress face figuri.
Tuesday, 5 October 2010
Sau puteti sa faceti un simplu fisier text, ca tot acolo ajungeti.
(ma refer doar la SEO si goagle)
Thursday, 8 September 2011
Daca-l faci fisier static va trebui sa tot mesteresti la el. Daca publici de citeva ori pe luna nu-i asa mare chestie, dar daca publici de mai multe ori pe zi va deveni obositor.