The Blog

Cosa fare se Wp Super Cache non vuole andare

26 Giu 09

asdDa buon sviluppatore wordpress mi è capitato più e più volte di smanettare con blogs privati e business.

Tra i tanti problemi che ho affrontato e che ormai so risolvere a menadito c’è stato questo di un amico che non riusciva ad abilitare wp Super Cache..

Mi spiego meglio! Quest’amico aveva scaricato e correttamente configurato wp-super-cache che però non dava segni di vita alcuna.

Le pagine non venivano cachate e diciamo che era praticamente d’obbligo cacharle poichè il server sul quale il sito era hostato cominciava a tirare le cuoia.

L’amico, dopo avermi confessato che voleva mantenere la versione mobile del sito, aveva provato anche l’abilitazione di wp-cache che comunque non dava frutti e la cartella wp-content/cache/ era perennemente vuota ( a dire la verità veniva a crearsi una cartella in wp-content/cache/blogs ). Ecco quindi come ho proceduto fino all’individuazione dell’errore.

  1. Prova ad eliminare la cartella cache all’interno di wp-content e riabilitare wpCache. -> Risultato negativo.
  2. Prova a cambiare i permessi della cartella cache -> Risultato negativo
  3. Prova di debug e di forzature nel codice php di wp-super-cache -> Risultato Negativo
  4. Ho provato a cancellare i file wp-content/advanced-cache.php e wp-content/wp-cache-config.php -> Risultato negativo.
  5. Ho provato a forzare $use_flock in wp-cache-config.php -> Risultato negativo
  6. Ho provato a debuggare attraverso l’abilitazione in wp-cache-config.php -> Nessun Debug

Alla fine dopo tutti questi tentativi andati a male ho deciso di guardare la cosa più banale e più stupida.

Per abilitare il caching su wordpress si dovrebbe inserire la riga

define(‘WP_CACHE’, true);

all’interno del file wp-config.php nella root del vostro blog. Quindi guardo il file e vedo che la linea c’è ma l’occhio, che a volte è più astuto del cervello, intravede che qualcosa non va e quindi decido di leggermi riga per riga il file e cercare di dare una spiegazione alla sensazione che avevo appena avuto e infatti poco dopo mi accorgo che la precedente riga era subito dopo alla riga:

require_once(ABSPATH.’wp-settings.php’);

Non ho fatto altro che scambiare le righe e far diventare la parte finale del mio wp-config.php come segue:

define(‘WP_CACHE’, true);
require_once(ABSPATH.’wp-settings.php’);

Anzichè

require_once(ABSPATH.’wp-settings.php’);
define(‘WP_CACHE’, true);

Errore ovviamente di distrazione che però può portarvi a non capire il problema per diverse ore 😉

Saluti! 🙂

Quanto conta la geolocalizzazione di un server nel posizionamento del sito?

10 Giu 09

Al contrario di quanto pensavo google da una reale rilevanza seo alla geolocalizzazione del server.

Qui sotto c’è il link ad un video di youtube dove matt cutts ( Impiegato google dal 2001 responsabile del team antispam di google ) risponde alla  fatidica domanda-titolo di ques’articolo

httpv://www.youtube.com/watch?v=hXt23AXlJJU

Come far funzionare thickbox e lightbox insieme

15 Apr 09

Ormai sempre più siti internet lavorano con effetti “speciali” tentando di far fare uno sbalzo al look & feel del proprio sito web castrando la staticità di ancora troppi siti web.

Navigando nel web ne trovi di tutti i colori, ma il primo è sicuramente lightbox. Alla sua nascita lightbox ha realmente rivoluzionato il modo di vedere le foto online.

Con l’andare nel tempo si è pensato bene di applicare l’effetto lightbox anche a contenuti diversi da immagini come html, form, video e qualsiasi altra cosa possibile.

Così nacque thickbox che imparando dal suo fratello minore da la possibilità agli addetti ai lavori di aggiungere un tocco magico anche a video , thanks page e altro..

Purtroppo, alcuni di voi lo sapranno, i due sistemi non vanno molto d’accordo e infatti la maggior parte delle volte ci ritroviamo difronte a un sito dove funziona o lightbox o thickbox. Ma perchè?

Lightbox e Thickbox sono state sviluppate con due tecnologie differenti, talmente differenti che sotto sotto sono simili tanto da andare in conflitto con un risultato impredicibile :).

Per fortuna la soluzione c’è e non è nemmeno così di difficile implementazione. Infatti vi basterà modificare il file thickbox.js nel seguente modo:

  • inserisci all’inizio del file la stringa jQuery.noConflict();
  • effettua un cerca e rimpiazza Con i seguenti parametri –> cerca: $( , rimpiazza: jQuery(
  • effettua un altro cerca e rimpiazza con i seguenti parametri –> cerca: $. , rimpiazza: jQuery.

Se non si capisse , l’ultimo parametro del cerca è [Dollaro][Punto] ..

Ad ogni modo, per i pigri vi lascio in allegato il file thickbox.js versione 3.1 🙂

Saluti a tutti,

Andrea Baccega

Quanto Conta il nome del Dominio e il Tld Per keyphrases Geo Localizzate?

18 Mar 09

Da alcuni mesi a questa parte ho sempre meno tempo di scrivere qui. Ma tanto nessuno mi legge.. 🙂 

Ultimamente sono impegnato su un progetto personale che riguarda l’ultima piattaforma per cellulari sviluppata da Google.. Sto parlando di Android!!!

In quest’ambito gestisco, insieme ad un amico, uno dei blog più visitati sull’argomento.. Cercando di ottimizzare il sito mi sono ritrovato difronte ad alcuni competitor che era a dir poco un mistero sapere come fossero diventati dei competitor 😛 .

Operando nel campo seo ormai da un anno, so benissimo che non esistono certezze e la tesi che sembrava essere comprovata ieri potrebbe venir smentita oggi.

Finita questa premessa partiamo con un analisi sul nome del dominio.

Bene. Prendiamo quindi i due siti da valutare.. 

  1. www.androidiani.com (il mio sito
  2. www.android-italia.it (il sito competitor)

La keyword per la quale faremo l’analisi è :

android italia

Noterete subito come il dominio del competitor sia effettivamente in “vantaggio” rispetto ad androidiani.com tuttavia se non ci fermiamo alla lettura del dominio e passiamo ad analizzare alcuni fattori noteremo questo:

 

Titolo Google Android Italia – community gphone forum programmi software news novità giochi – Home Androidiani.com: La Risorsa Android in italia | android italia
Prossimità Keyword nel Titolo 2,3 parola 8,9 parola
Data Dell’ Ultimo Post Alcuni Mesi Fa Alcune Ore Fa
Pagine indicizzate 120 1520
Pagine indicizzate con la kw (site:domain android italia) 8 658
Percentuale di pagine con la kw 6.6% 43%
Data di Creazione del Dominio 23-nov-2007 15-nov-2008
Link Popularity del Dominio 7 Links in ingresso 897 links in ingresso
Link in ingresso Tematici 1 su 7 Svariati
Fattore android-italia.it androidiani.com

Dando uno sguardo alla tabella non esaustiva, riusciamo a capire come il dominio di destra abbia un enorme potere ( o almeno dovrebbe ) seo per quella keyphrase.

In effetti secondo google, androidiani.com per circa il 43% di pagine “parla” di “android italia”, mentre il concorrente tratta l’argomento solamente per il 6.6% delle volte.

Alcuni fattori positivi che possiamo attribuire come vincenti al dominio android-italia.it sono sicuramente :

  • La prossimita della keyphrase nel titolo
  • L’anzianità ( se si possa chiamare cosi in questo caso 😛 ) del dominio maggiore.
  • La keyphrase esatta nel dominio

Tuttavia. Molte cose lo darebbero sfavorito : 

  • L’aggiornamento del sito: Molti seo sostengono ( anche io ) che un dominio abbia uno spunto in più qual’ora venga aggiornato anche costantemente. Per quanto riguarda questa case history, Il competitor non viene aggiornato dal 30 novembre 2008.. Mentre androidiani.com pubblica in alcune occasioni anche 2 articoli al giorno.
  • Le pagine indicizzate: Androidiani.com gode di oltre 1500 pagine indicizzate confrontate con le circa 100 di android-italia.it
  • La link Popularity: 7 vs 890;

Ma quindi, basterà un dominio più anziano (di un anno 😛 ) che matcha la keyphrase completa per vincere la grande lotta alla prima posizione ? 

C’è qualcosa che va bene riconsiderare prima di dare una risposta? Secondo me si!

Infatti, proviamo a dare un occhio alle due keywords che stiamo valutando.

  • android
  • italia

“italia” non è solamente una piatta kw.. E’ una keyword GeoLocalizzata.. Indica un luogo.. un paese.. Una nazione!

Ma questo cosa centra? 

E’ qui che entra in gioco la mia tesi. Infatti secondo me

Google utilizzerebbe molti altri fattori per servire i risultati di una ricerca con keywords geolocalizzate.

Mi è capitato di vedere alcuni domini posizionati nelle prime 2 o 3 posizioni per delle ricerche non troppo generiche. Questi domini avevano le stesse caratteristiche del dominio android-italia.it:

  • Alto Keyword Density nel nome del dominio
  • Poche pagine indicizzate
  • Contenuti scarsi e poco aggiornati
  • Pochi link in ingresso e di scarsa tematicità!.

Ad esempio, digitando su google la keyword ristorante jesolo, poco dopo le google maps troviamo un dominio:

ristorantejesolo.it

Il quale rispecchia esattamente le caratteristiche del dominio android-italia.it .. 

Ma non è tutto..

Eh già! di strano c’è dell’altro..

Vuoi vedere che il Tld gioca un ruolo seo veramente fondamentale in questi casi?

Provate a dare un occhio a:

Si!!! Sono esattamente la stessa cosa 🙂 .. Eppure ristorantejesolo.com non appare mai ( o quasi ) sulle Serps. Ma come mai? Eppure sono la copia speculare, hanno entrambi link in ingresso di dubbia qualità , sono hostati nello stesso server e per finire sono stati creati praticamente concorrentemente.

Che abbia un potere molto incidente anche il Tld del dominio in alcuni casi?

Potrebbe essere. Il tempo è tiranno e non sono riuscito a fare molte query per verificare anche questa di tesi. Se mai ne avrò la possibilità, riproporrò sicuramente l’argomento.

Un Saluto, Andrea

Quando il contenuto inquina il Seo

14 Feb 09

Ciao a tutti. Ogni tanto torno a scrivere qui. Questa volta vorrei riproporre una riflessione che il famoso fradefra ci ha regalato.

Francesco de Franceschi è un rinomato seo italiano. Nonostante posti le sue riflessioni di rado, quando trova il tempo propone sempre spunti di riflessioni veramente particolari.

Io, ho conseguito la certificazione seo di seocertification.org ma ciò che disimparai nel  manuale che proponeva seocertification ( e che qualsiasi altra “guida al posizionamento” proponeva) non si avvicina nemmeno minimamente all’esperienza che una persona matura lavorando sul campo.

Tutte le guide seo e la maggior parte dei seo italiani professano la fede “Il contenuto è tutto”.. Fradefrà ha cercato invece di marcare dei paletti affermando ( e giustificando ) la sua tesi per la quale non tutto il contenuto porta bene :).

In pratica francesco solleva questa domanda: 

“Se ho 100 pagine che parlano di ‘pincopallino’ su 500 il mio sito avrà lo stesso potere che averne 100 su 200?”

In effetti la risposta logicamente corretta è no. Se ho una buona parte di pagine che parlano di uno stesso argomento .. Automaticamente il dominio si troverà in una certa frequenza di risonanza per quell’argomento.

Quindi che fare? Sono poche le soluzioni:

  1. Eliminiamo completamente il contenuto che sporca la temacità del sito.
  2. Lo limitiamo alla lettura dei nostri visitatori.

Se la prima soluzione non è applicabile per svariati motivi possiamo sempre limitare la visita ai motori di ricerca attraverso un cloacking inverso oppure attraverso la definizione di robots.txt.

Ma cos’è il cloacking inverso? E’ un concetto definito da me col quale mi riferisco ad azioni volte a nascondere qualcosa ai motori di ricerca che invece mostriamo ai nostri visitatori.

In pratica Solitamente effettuiamo del cloacking per mostrare delle versioni differente basandoci su diversi fattori ( User Agent, Ip …) in questo caso potremo utilizzare il potente strumento delle RewriteRules per scrivere qualcosa di simile a questo:

RewriteCond %{HTTP_USER_AGENT} ^.*GoogleBot.*$ [NC]
RewriteRule pagina-da-nascondere.php not_found.php [L]
RewriteRule pagina-da-nascondere2.php not_found.php [L
RewriteRule pagina-da-nascondere3.php not_found.php [L] 
…. 

Ovviamente dovrete cambiare “pagina-da-nascondere.php” con l’url delle pagine da nascondere al motore di ricerca e dovrete creare not_found.php e farlo assomigliare a qualcosa di simile a:

[php]header(“HTTP/1.0 404 Not Found”); [/php]

Ad esempio potreste nascondere le pagine di contatti, privacy, form d’iscrizione e molte altre pagine che non parlano assolutamente della vostra keyword preferita.

Per chi volesse leggere le complete riflessioni di fradefrà vi invito a leggere caldamente l’articolo  “Chi l’ha detto che il Content is the King” 

Saluti, Andrea

Questo sito potrebbe arrecare danni al tuo computer

31 Gen 09

Non c’è molto da dire 🙂 Guardate lo screenshot

wikipedia-inaffidabile

E non sono l’unico che ha riscontrato il problema.
In particolare segnalo: questo sito con la query libri

Google exploitato o semplice problema momentaneo?

6 Seo Tips che tutti dimenticano

22 Gen 09

Eccoci qua dopo un lunghissimo periodo di inattività dovuto ad altri progetti e impegni più rilevanti.

Per lavoro mi sono ritrovato a scrivere i seguenti seo tips di “seconda” mano.. Diciamo quei seo tips a cui nessuno da veramente importanza ma a che mio modo di vedere possono anche ribaltare la situazione.

  1. Fatti aiutare da Google Analytics

    Google Analytics è un tool free in continuo aggiornamento, grazie al suo utilizzo potrete accedere ad una quantità innumerevole di informazioni  grazie ai quali potrete capire quali sono le keywords più performanti e quelle dove riporre più sforzi.

  2. Il web è in continua crescita e così anche il tuo sito dovrebbe essere dinamico

    Internet è in continua evoluzione, lasciare il tuo sito abbandonato a se stesso per troppo tempo potrebbe essere rischioso. Inserire anche poco contenuto costantemente può aiutare il vostro sito web a scalare i motori di ricerca dimostrando loro che il sito non è morto.

  3. Se puoi fai uso dei feed rss

    I feed Rss sono ben visti , sia dai motori di ricerca, che dagli utenti del tuo sito che potranno così mantenersi aggiornati sugli eventi e sulle offerte pubblicate nel tuo sito. Inoltre i feed Rss sono una seconda sitemap che i motori di ricerca possono utilizzare per tenersi aggiornati sulle novità del tuo sito.

  4. Scrivi contenuto per gli utenti e non per i motori di ricerca

    Scrivere il contenuto dei propri siti web avendo in mente i motori di ricerca può avere i suoi vantaggi, ma devi pensare che anche se riuscirai ad essere primo nei motori di ricerca, se l’utente entrerà e non troverà il tuo sito facilmente accessibile uscirà immediatamente portando così il Bounce-Rate  a sfiorare il 100%. Il Bounce-Rate è un valore che google ed altri motori di ricerca utilizzano per valutare la qualità di un sito in relazione della keyword.

  5. Prendi in considerazione la possibilità di inserire il tuo sito in varie directory

    Le directory sono cataloghi di siti web divisi per tipologia. Alcune directory mondiali hanno un alta rilevanza per i motori di ricerca che appoggiano una parte dei loro database a queste directory. Ad esempio L’Open Directory Project ( http://www.dmoz.org ) è la directory più vasta al mondo e google ne fa riferimento per dare maggiore importanza ai siti web presenti in quel sito. Fai particolare attenzione alla “qualità” della directory che stai prendendo un esame.

  6. Rendi il tuo sito più snello e veloce da visualizzare

    La velocità con la quale si apre il tuo sito può giocare un ruolo fondamentale per l’ottimizzazione del tuo sito web. Infatti google prende in considerazione anche la velocità e la stabilità del tuo sito web per valutare l’affidabilità dei tuoi contenuti. Inoltre è dimostrato che gli utenti di fronte ad un sito lento nel caricamento tendono ad uscire (vedi bounce rate sopra). Quindi un sistema di caching lato server può essere di vitale importanza.

Google ti da maggiore controllo su GoogleBot

05 Dic 08

Saranno contenti i seo.. Da oggi il webmasters tools presenta una nuova voce di menu chiamata Settings

Una volta cliccatoci, abbiamo la possibilità di impostare 4 parametri:

  1. Target Geografico
  2. Dominio Preferito
  3. Ricerca delle immagini
  4. Crawl Rate

Vediamo uno ad uno queste nuove funzionalità … Il target geografico serve a impostare la località di un sito. Ad esempio se il vostro sito è completamente in italiano è ragionevole impostare italia come Target.

La voce Preferred Domain invece vi fa scegliere tra 3 opzioni :

  1. Non impostare il dominio preferito;
  2. Impostare il dominio preferito a www.dominio.com
  3. Impostare il dominio preferito a dominio.com

Probabilmente questa scelta di introdurre Il preferred domain serve a coloro che hanno un sito web che serve lo stesso contenuto sia con che senza il www. Impostando il Preferred Domain quindi, google saprà qual’è il dominio “corretto”

La voce Image Search parla da sola.. E serve per dire a google che può indicizzare le nostre immagini.

La voce Crawl Rate è quella più innovativa.. Infatti cliccando su “Set custom crawl rate” è possibile definire addirittura il numero di secondi da lasciar passare prima di una nuova richiesta google bot.  La gamma dei valori possibili è da :

  • 1000 secondi tra una richiesta e l’altra;
  • 2 secondi tra una richiesta e l’altra;

Io consiglio di non impostare questo valore troppo altro.. Potrebbe significativamente incrementare il traffico nel vostro server.

… Tuttavia.. a questo punto mi pongo una domanda.. Tutti sappiamo che è possibile avere lo stesso sito in 2 webmaster tools diversi.. Quindi se io imposto dei valori differenti da quelli che imposta un altro webmaster… Cosa succede? Come si comporta google? Boh .. Staremo a vedere..

Saluti, Baccega Andrea

Il futuro del seo e google Search Wiki

21 Nov 08

l'evoluzione di google Ciao,

Oggi mi sono interrogato su quale potesse essere il futuro del seo .. Così googlando un po’ indovinate cosa ho trovato… Niente..

Molti si interrogano sui possibili cambiamenti che questo campo può avere nel futuro, ma pochi danno le loro idee..

Da poco sono venuto a conoscenza che il servizio SearchWiki di google è diventato pressochè disponibile per tutti.. Basta loggarsi con il proprio account di google e fare una ricerca su google.com per vedere il risultato…

SearchWiki permette ad ogni singolo utente di diventare un famigerato quality rater..

Mi spiego..

Il servizio è nato per dare la possibilità ad ogni utente di esprimere il proprio giudizio sui risultati nella serp.. in particolare è possibile:

  • Promuovere un risultato muovendolo in prima posizione;
  • Lasciare un commento sul risultato di ricerca;
  • Cancellare un risultato di ricerca;

Fatta questa piccola premessa su SearchWiki posso finalmente parlare della mia visione del seo .

Google, nel suo post di annuncio a searchwiki ( qui ) si può leggere:

The changes you make only affect your own searches. But SearchWiki also is a great way to share your insights with other searchers. You can see how the community has collectively edited the search results by clicking on the “See all notes for this SearchWiki” link.

Che in soldoni dice che le modifiche fatte attraverso searchwiki non avranno effetto alcuno sui risultati collettivi..

Bene .. Siccome sono molto scettico e credo che l’etica sia qualcosa di relativo persino per google.. in contrasto con google io dico che:

  • Search Wiki verrà usato in modo massivo da google per aggiustare i suoi algoritmi di rank
  • Google utilizzerà i dati raccolti con search wiki per Stilare una lista di siti “buoni” ( lo stesso che ha fatto quando ha costruito la lista di siti seme per lo sviluppo del trust rank.)
  • Non appena avrà capito come affinare ulteriormente l’algoritmo di rank, probabilmente il servizio di Search Wiki verrà tolto..

Il motivo dell’ultima considerazione è semplice.. Quando gli spammer ( e quindi anche i seo ) capiranno che per rankare alti su google basterà spammare il proprio voto su SearchWiki , il servizio diventerà pressochè inaffidabile e inutile….

SearchWiki è il più grande stratagemma che google ha ideato per migliorare il suo servizio.

Tu che ne pensi?

Usare Curl e Php per prendere il contenuto di una pagina web

20 Nov 08

Salve gente,
oggi voglio presentarvi una funzioncina che potrebbe tornarvi utile… Questa piccola guida è rivolta sopratutto ai programmatori php che si trovano spesso di fronte a problemi che per essere risolti utilizzano il web-scraping .

In Particolare, La mia funzione fa uso di php+curl per prendere il contenuto servito dalla pagina richiesta. L’uso della libreria curl permette di gestire molte più informazioni della semplice chiamata a fopen..

Inoltre curl, nei vari benchmark risulta essere ben 200 volte più veloce a serivire le richieste della normale chiamata a fopen(‘http….’);

Qui di seguito vi lascio il mio codice sorgente free.

Input: url della pagina da crawlare

Output: contenuto della pagina oppure null

Features: lo script ha un set limitato di user agent e li utilizza per simulare una vera chiamata a browser ( alcuni server potrebbero non servire affatto una risposta se il campo User-Agent non è settato )

[sourcecode lang=”php”]<?php
$someUA = array (
"Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.1b1) Gecko/20081007 Firefox/3.1b1",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.0",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/0.4.154.18 Safari/525.19",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13",
"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)",
"Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.40607)",
"Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1; .NET CLR 1.1.4322)",
"Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1; .NET CLR 1.0.3705; Media Center PC 3.1; Alexa Toolbar; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
"Mozilla/45.0 (compatible; MSIE 6.0; Windows NT 5.1)",
"Mozilla/4.08 (compatible; MSIE 6.0; Windows NT 5.1)",
"Mozilla/4.01 (compatible; MSIE 6.0; Windows NT 5.1)");
function getRandomUserAgent ( ) {
srand((double)microtime()*1000000);
global $someUA;
return $someUA[rand(0,count($someUA)-1)];
}
function getContent ($url) {

// Crea la risorsa CURL
$ch = curl_init();

// Imposta l’URL e altre opzioni
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, getRandomUserAgent());
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
// Scarica l’URL e lo passa al browser
$output = curl_exec($ch);
$info = curl_getinfo($ch, CURLINFO_HTTP_CODE);
// Chiude la risorsa curl
curl_close($ch);
if ($output === false || $info != 200) {
$output = null
}
return $output;

}
?>[/sourcecode]

Per utilizzare questa semplice funzione basterà chiamare la funzione getContent con argomento l’url completo della pagina da ricevere.

Saluti, Andrea