Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Non c'è solo Penguin o Panda...
Marco Bove
Imevolution srl
marco@imevolution.it
www.imevolution.it
@MarcoBove
Sono specializzato in Penalizzazioni e in Analisi Search Engine
Friendly per progetti web di medie/grandi dimensioni.
Lavo...
Di Fronte a dati simili cosa pensereste del vostro sito??
Oh my God!
Chi sarà stato?
Uno dei 2 animaletti Bianco-Neri ….
….. O il buon Matt ??
Potrebbero esserci molte altre cause, vediamone alcune:

Il codice di tracciamento è stato rimosso o modificato e non tra...
Ecco il nostro caso di studio.

Blog Wordpress online da circa 2 anni;

Settore di nicchia senza grossissima concorrenza...
Come ci siamo accorti del problema

Cercando per la chiave topica (con cui era nelle primissime posizioni) a file
Luglio ...
Prime analisi per capire il problema

Controllo le statistiche per capire da quanto il sito è in questo stato (dal 13
Lug...
Prime analisi per capire il problema
Comincio ad Analizzare i log del server e qui ho la prima sorpresina:
Tutte le pagine...
Prime analisi per capire il problema
Controllo anche con il Chrome Developer Tools (F12 → Network) , che mi dà errore 500 ...
Risoluzione Problema
Controllo di tutti i singoli file del Tema, con la certezza che il problema dovesse essere
in un temp...
Ecco la Causa del Problema
/**
* Kill WordPress execution and display HTML message with error message.
*This is the defaul...
Risoluzione Problema
1) Correggo la query errata e magicamente le pagine ritornano a rispondere con codice di
Stato 200;
2...
Dopo qualche giorno....
Grazie per l'attenzione
Rimaniamo in Contatto
MARCO BOVE
marco@imevolution.it
Mobile: 347 28 13 008
http://www.imevolution.it
facebook.com/marco.b...
Upcoming SlideShare
Loading in …5
×

Sito Wordpress Penalizzato per Status Code 500

1,345 views

Published on

Caso di Studio di una penalizzazione subdola di un sito Wordpress sparito dalle SERP di Google a causa della funzione WP_Die, che faceva restituire uno status code 500 al sito nonostante le pagine venissero caricate tranquillamente.

Published in: Marketing
  • Ciao Marco, alla fine non ho capito se il problema può riguardare un qualsiasi tema (pro) o nello specifico solo quello usato sulla tua installazione. Grazie
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Sito Wordpress Penalizzato per Status Code 500

  1. 1. Non c'è solo Penguin o Panda... Marco Bove Imevolution srl marco@imevolution.it www.imevolution.it @MarcoBove
  2. 2. Sono specializzato in Penalizzazioni e in Analisi Search Engine Friendly per progetti web di medie/grandi dimensioni. Lavoro da oltre 14 anni come SEO, prima come freelance poi come CEO di Imevolution Srl, web agency che gestisce progetti di promozione online in settori altamente competitivi quali E- Commerce, Turismo e servizi online vari lavorando sia sul mercato italiano sia su quello estero." Chi Sono facebook.com/marco.bove plus.google.com/+MarcoBove twitter.com/MarcoBove
  3. 3. Di Fronte a dati simili cosa pensereste del vostro sito??
  4. 4. Oh my God!
  5. 5. Chi sarà stato? Uno dei 2 animaletti Bianco-Neri …. ….. O il buon Matt ??
  6. 6. Potrebbero esserci molte altre cause, vediamone alcune:  Il codice di tracciamento è stato rimosso o modificato e non traccia più a dovere (capita molte più volte di quanto pensiate);  Un uso errato del file Robots.txt User-agent: * Disallow: /  Un uso errato dei metatag robots meta name="robots" content="noindex,follow"  Un uso errato del rel=Canonical;  Problemi DNS, che per qualche impostazione sbagliata bloccano i bot di Google;  Sito Hackerato e riempito di contenuti spammosi;
  7. 7. Ecco il nostro caso di studio.  Blog Wordpress online da circa 2 anni;  Settore di nicchia senza grossissima concorrenza;  Dominio nuovo, senza storico rischioso;  Tema Freemium, pochi plugin;  Contenuti validi e originali;  Profilo Link pulitissimo, pochissimi backlink tutti spontanei;  Sito estremamente veloce e senza problemi di caricamento;  Codici di tracciamento (non Google Analytics) installati correttamente;
  8. 8. Come ci siamo accorti del problema  Cercando per la chiave topica (con cui era nelle primissime posizioni) a file Luglio 2013 il sito non è più visibile, nemmeno nelle prime 100 pagine.  Provo a cercare il dominio con “nomedominio.it” 0 risultati;  Provo su Google site:nomeadominio.it nessun risultato trovato;  Provo nei risultati cache, nessuna pagina presente nella cache di Google Sito Bannato??? Cosa Avrò fatto di cosi grave?
  9. 9. Prime analisi per capire il problema  Controllo le statistiche per capire da quanto il sito è in questo stato (dal 13 Luglio c’è un calo consistente di traffico;  Il sito non ha un Robots.txt con un “Disallow /” messo lì per errore;  Il sito non ha un meta robots “Noindex” inserito per errore manualmente o tramite qualche plugin;  Il sito non è stato “bucato”, tutte le pagine del sito sono pulite e senza scripts strani o malware o link verso siti poco raccomandabili;  Controllo il Webmaster Tools di Google che mi porta un generico errore 500 su alcune pagine, che controllo e che in quel momento si vedono benissimo.
  10. 10. Prime analisi per capire il problema Comincio ad Analizzare i log del server e qui ho la prima sorpresina: Tutte le pagine del sito rispondono STATUS HTTP CODE 500* * 5xx (Errore del server) Questi codici di stato indicano che si è verificato un errore interno del server durante il tentativo di elaborazione della richiesta. Questi errori sono tendenzialmente nel server stesso, non nella richiesta. 500 (Errore interno del server): Si è verificato un errore nel server, il quale non riesce a soddisfare la richiesta. https://support.google.com/webmasters/answer/40132?hl=it
  11. 11. Prime analisi per capire il problema Controllo anche con il Chrome Developer Tools (F12 → Network) , che mi dà errore 500 nel caricamento delle pagina, mentre tutti i singoli file vengono caricati, ecco perché le pagine vengono comunque caricate dal browser. Ecco la causa della sparizione del sito dalle SERP, non è stato bannato, semplicemente i bot dei motori di ricerca ricevevano ad ogni richiesta di pagina un bel HTTP STATUS 500!
  12. 12. Risoluzione Problema Controllo di tutti i singoli file del Tema, con la certezza che il problema dovesse essere in un template che veniva richiamato in tutte le pagine del sito quindi particolare attenzione viene posta a header.php, footer.php e sidebar.php; Nella sidebar troviamo una query scritta male e che andava in errore, ma invece di limitarsi a non mostrare i contenuti richiamati dalla query, a causa della funzione Wp_Die* faceva rispondere tutte le pagine con lo status 500. La funzione Wp_Die non è sempre attiva, dipende dalla configurazione del server Apache e dalla versione PHP, per sicurezza fate sempre un controllo sulla vostra installazione Wordpress. Wordpress stesso dice: This function complements the die() PHP function. The difference is that HTML will be displayed to the user. It is recommended to use this function only, when the execution should not continue any further. It is not recommended to call this function very often and try to handle as many errors as possible silently.
  13. 13. Ecco la Causa del Problema /** * Kill WordPress execution and display HTML message with error message. *This is the default handler for wp_die if you want a custom one for your * site then you can overload using the wp_die_handler filter in wp_die * @since 3.0.0 * @access private * @param string $message Error message. * @param string $title Error title. * @param string|array $args Optional arguments to control behavior. */ function _default_wp_die_handler( $message, $title = '', $args = array() ) { $defaults = array( 'response' => 500 ); $r = wp_parse_args($args, $defaults); $have_gettext = function_exists('__'); if ( function_exists( 'is_wp_error' ) && is_wp_error( $message ) ) { if ( empty( $title ) ) {
  14. 14. Risoluzione Problema 1) Correggo la query errata e magicamente le pagine ritornano a rispondere con codice di Stato 200; 2) Per evitare che in futuro un qualsiasi altro errore di query mi faccia riuscire il 500 modifico la funzione Wp_Die e di default faccio rispondere con il codice 200. Il problema è comune:  http://wordpress.org/support/topic/500-internal-server-error-when-having-the-pluging-activated  http://wordpress.org/support/topic/wp-38-conflict-something-else-500-error  http://wordpress.org/support/topic/plugin-secure-invites-plugin-generates-false-500-errors  http://mc-computing.com/ISPs/WordPress/500_server_error.html  http://wordpress.stackexchange.com/questions/101533/wp-die-causing-500-internal-server-error
  15. 15. Dopo qualche giorno....
  16. 16. Grazie per l'attenzione
  17. 17. Rimaniamo in Contatto MARCO BOVE marco@imevolution.it Mobile: 347 28 13 008 http://www.imevolution.it facebook.com/marco.bove plus.google.com/+MarcoBove twitter.com/MarcoBove

×