WordPress lento e perdita di indicizzazione su Google ? Un caso reale di un nostro cliente. - 🏆 Managed Server

BLOG

1 Aprile 2020

WordPress lento e perdita di indicizzazione su Google ? Un caso reale di un nostro cliente.

Un caso reale di plugin WordPress che rallentava il sito.

WordPress Lento e perdita indicizzazione Banner

Fornendo aiuto ad un nostro cliente www.viktec.net (un sito di recensioni tecnologiche) che lamentava un’estrema lentezza di navigazione e constatando che lato server era tutto configurato adeguatamente con uno stack software di eccellenza con Varnish Cache che rispondeva correttamente, e addirittura uno stato aggiuntivo di Cache con CloudFlare, ci siamo chiesti cosa non potesse andare nel sito e abbiamo approfondito la ricerca analizzando l’applicativo e il database.

Può capitare in maniera nemmeno troppo infrequente che un sito che stava dando buoni risultati e ottime soddisfazioni in termini di posizionamento sui motori di ricerca che possa perdere il posizionamento di molte parole indicizzare e da li a poco vederlo letteralmente scomparire dai motori di ricerca.

I motivi possono essere molteplici, una sitemap non ben configurata, una cache che non si aggiorna, un robots.txt con un disallow errato, ma in questo articolo voglio parlarti di quanto è importante avere un sito veloce e di quanto sia dannoso un sito lento per i motori di ricerca.

Lentezza questa volta dovuto ad un plugin WordPress ufficiale di Amazon : Amazon Associates Link Builder.

Il plugin WordPress Amazon Associates Link Builder  ti permette di integrare i prodotti Amazon nel tuo sito in modo semplice e accattivante, con pochi clic.

Amazon Associates Link Builder è il plugin ufficiale per WordPress, gratuito e progettato per rendere semplice ai membri del Programma di affiliazione Amazon la ricerca dei prodotti Amazon da inserire nel proprio sito. Dà la possibilità di creare link diretti, con pochi clic e senza dover uscire dall’editor di WordPress.

L’uso dell’Amazon Associates Link Builder consente di non dover integrare manualmente informazioni importanti sul prodotto, come i nomi, le descrizioni e le anteprime dei prodotti.
Il plugin Link Builder, infatti, genera dei codici brevi che puoi utilizzare per selezionare i dati dei prodotti Amazon in diversi formati di visualizzazione, quindi mostrarli sul tuo sito web. Di seguito vedremo le funzionalità del Link Builder e alcuni esempi di come gli affiliati lo utilizzano per migliorare i propri siti.

Fortunatamente questo plugin è stato dismesso il 9 marzo 2020, ma qualora lo abbiate installato statene veramente MOLTO attenti.

Il problema

Il problema principale deriva dal fatto che questo plugin va ad aggiungere delle entry nel database di WordPress nella tabella wp_options, entry per diverse milioni di righe.

Già il fatto di non usare una tabella separata la dice lunga quanto possa essere improvvisato questo plugin e il pessimo lavoro che hanno fatto gli ingegneri di Amazon (eh si, è proprio un loro plugin ufficiale) ma il fatto che possa riempire la tabella andando ad aumentare a dismisura il tempo di interrogazione del DB è davvero più che gravissimo.

Query lente sul database equivale a pagine lente che sono dannose sia per il visitatore che si spazientisce, sia per i crawler di Google che avendo miliardi di siti da scansionare si spazientiscono anche loro e passano al prossimo.

Crawling budget cos’è ?

La definizione che viene data comunemente del crawl budget è il numero di pagine che Google sottopone a scansione in un determinato periodo di tempo.

In parole semplici, il crawler bot di Google si occupa di scansionare le pagine web, aggiungendole successivamente all’indice. Durante l’operazione, il software cerca altri links da seguire in autonomia oppure seguendo gli URL di una sitemap.xml per analizzare sempre nuovi contenuti.

Per essere identificato durante l’accesso, in genere i bot usano uno user agent, ossia una stringa di riconoscimento. Consultando il file di log di Apache sul nostro server, possiamo notare visite da Googlebot, ma esistono anche BingBot di Microsoft, Baiduspider per il mercato cinese e YandexBot per la Russia.

Svolgere il compito di scansione di siti da 100, 1000 o 10000 pagine può essere particolarmente oneroso e soprattutto dispendioso in termini di risorse hardware, ma anche di tempo impiegato, visto che esistono miliardi di siti che vanno periodicamente controllati per monitorare eventuali nuovi aggiornamenti o modifiche ai contenuti.

Da qui nasce l’esigenza di limitare il tempo e le risorse dedicate ad ogni sito in base ad una serie di fattori che vanno a premiare alcuni siti con una scansione più frequente, mentre altri saranno controllati solo di rado.

Per farsi un’idea concreta della situazione del proprio sito ci si deve necessariamente affidare ad un sistema di monitoraggio degli accessi di Googlebot ed esistono varie soluzioni.

Il modo più semplice e gratuito è l’uso del proprio account Search Console nell’area Crawl > Crawl Stats, dove è riportato un grafico con l’attività di Google negli ultimi 90 giorni, mostrando la media, i massimi e i minimi relativamente al numero di pagine scansionate ogni giorno.

E’ ovvio che se le pagine sono molte da scansionare ed il sito è lento i Crawler di Google non staranno li delle ore per recuperare la pagina ed indicizzare i contenuti, ma andrà oltre al prossimo sito non recuperando i vostri contenuti e non indicizzandoli lasciandovi letteralmente scomparire da Google.

Il discorso vuole prendere in esame Google, ma è valido praticamente per tutti i motori di ricerca.

Analisi del problema

Il primo passo da fare quando un sito diventa estremamente lento fino a morire è quello di profilare l’applicativo per capire i colli di bottiglia.

Questo può essere fatto in diversi modi, usando applicazioni di terze parti come New Relic, utilizzando plugin per la profilazione come Query Monitor, o andare a manina sulla shell del DB MySQL e fare uno SHOW FULL PROCESSLIST; per vedere quali query passano più frequentemente ed il timing impiegato da ognuna di esse.

Un modo sano se avete accesso root al sistema o avete dei sistemisti in gamba che si occupano come noi anche di seguirvi sulle performance e non solo di vendervi il pacchettino di hosting a 50 euro l’anno è quello di utilizzare Percona Toolkit come abbiamo scritto in questo articolo.

Comunque sia in questo caso è stato addirittura molto più facile, in quanto accedendo al database con l’utility phpMyAdmin era impossibile non accorgersi che qualcosa non stesse andando per il verso giusto : la tabella wp_options pesava 20GB.

Un valore inumano, insensato che al superare di qualche decina di megabyte (un centinaio al massimo) dimostra e prova oltre ogni ragionevole dubbio che qualche plugin sta scrivendo nefandezze sulla tabella.

Infatti era piena di entry con un identificatore aalb_update_table_batch

Già qualcuno si era accorto del problema come possiamo leggere in questo thread di supporto al plugin : https://wordpress.org/support/topic/the-wordpress-db-has-increased-by-600mb-2/

La soluzione come consigliata anche nel thread sopra elencato è stata quella di cancellare tutte quelle entry utilizzando la seguente query SQL :

DELETE FROM wp_options WHERE option_name LIKE (‘%aalb_update_table_batch%’)

La tabella ha iniziato a vuotarsi fino a qualche decina di megabyte ed il sito ha iniziato ad aprire pagine in meno di due secondi contro gli oltre 10 secondi prima di effettuare la pulizia.

Sostituzione del plugin Amazon Associates Link Builder con WP Money Click

Il cliente una volta compresa la problematica che il plugin ufficiale di Amazon stava letteralmente uccidendo il suo sito ha provveduto a sostituirlo col meno famoso ma molto migliore e più performance WP Money Click che consigliamo vivamente a tutti coloro che lavorano nel campo affiliazioni e comparazione prodotti.

Oltretutto la sostituzione del plugin ha permesso di convertire tutti gli shortcode presenti nel sito (parliamo di centinaia di articoli) al formato WP Money Click, non dovendo dunque impiegare molto lavoro o tempo per effettuare la migrazione al nuovo plugin.

Risultati e benefici ottenuti

I risultati ottenuti sono quelli di esser ritornati ad un sito veloce e scattante con molte keywork e contenuti finalmente indicizzati da Google come possiamo vedere dallo screenshot seguente ottenuto tramite SeoZoom.

Come potete vedere dalla fine del mese di marzo ad oggi (inizio aprile) da circa 1000 pagine indicizzate siamo arrivati ad oltre 20000.

Conclusioni

Sebbene in questo caso specifico abbiamo voluto trattare di questo plugin che stava dando grossi problemi, ciò non significa che sia l’unico plugin a generare situazioni e conseguenze dannose come sopra descritte.

Semplicemente esistono plugin scritti più o meno male che tendono a rallentare il sito in maniera imbarazzante, ottenendo gli stessi effetti nocivi che avete letto qui sopra.

Attenzione dunque ogni volta che installate un plugin, e fate attenzione alla crescita del Database qualora notiate un eccessivo rallentamento.

In merito a cosa scegliere e con quale criterio scegliere un plugin vi rimandiamo a questo articolo Best Practice per scegliere i plugin certi che vi aiuterà a ponderare scrupolosamente la migliore soluzione.

Come sempre, se avete problemi di performance, contattateci pure. Siete sempre i benvenuti.

Hai dei dubbi? Non sai da dove iniziare? Contattaci !

Abbiamo tutte le risposte alle tue domande per aiutarti nella giusta scelta.

Chatta con noi

Chatta direttamente con il nostro supporto prevendita.

0256569681

Contattaci telefonicamente negli orari d’ufficio 9:30 – 19:30

Contattaci online

Apri una richiesta direttamente nell’area dei contatti.

INFORMAZIONI

Managed Server S.r.l. è un player italiano di riferimento nel fornire soluzioni avanzate di sistemistica GNU/Linux orientate all’alta performance. Con un modello di sottoscrizione dai costi contenuti e prevedibili, ci assicuriamo che i nostri clienti abbiano accesso a tecnologie avanzate nel campo dell’hosting, server dedicati e servizi cloud. Oltre a questo, offriamo consulenza sistemistica su sistemi Linux e manutenzione specializzata in DBMS, IT Security, Cloud e molto altro. Ci distinguiamo per l’expertise in hosting di primari CMS Open Source come WordPress, WooCommerce, Drupal, Prestashop, Joomla, OpenCart e Magento, affiancato da un servizio di supporto e consulenza di alto livello adatto per la Pubblica Amministrazione, PMI, ed aziende di qualsiasi dimensione.

Red Hat, Inc. detiene i diritti su Red Hat®, RHEL®, RedHat Linux®, e CentOS®; AlmaLinux™ è un marchio di AlmaLinux OS Foundation; Rocky Linux® è un marchio registrato di Rocky Linux Foundation; SUSE® è un marchio registrato di SUSE LLC; Canonical Ltd. detiene i diritti su Ubuntu®; Software in the Public Interest, Inc. detiene i diritti su Debian®; Linus Torvalds detiene i diritti su Linux®; FreeBSD® è un marchio registrato di The FreeBSD Foundation; NetBSD® è un marchio registrato di The NetBSD Foundation; OpenBSD® è un marchio registrato di Theo de Raadt. Oracle Corporation detiene i diritti su Oracle®, MySQL®, e MyRocks®; Percona® è un marchio registrato di Percona LLC; MariaDB® è un marchio registrato di MariaDB Corporation Ab; REDIS® è un marchio registrato di Redis Labs Ltd. F5 Networks, Inc. detiene i diritti su NGINX® e NGINX Plus®; Varnish® è un marchio registrato di Varnish Software AB. Adobe Inc. detiene i diritti su Magento®; PrestaShop® è un marchio registrato di PrestaShop SA; OpenCart® è un marchio registrato di OpenCart Limited. Automattic Inc. detiene i diritti su WordPress®, WooCommerce®, e JetPack®; Open Source Matters, Inc. detiene i diritti su Joomla®; Dries Buytaert detiene i diritti su Drupal®. Amazon Web Services, Inc. detiene i diritti su AWS®; Google LLC detiene i diritti su Google Cloud™ e Chrome™; Microsoft Corporation detiene i diritti su Microsoft®, Azure®, e Internet Explorer®; Mozilla Foundation detiene i diritti su Firefox®. Apache® è un marchio registrato di The Apache Software Foundation; PHP® è un marchio registrato del PHP Group. CloudFlare® è un marchio registrato di Cloudflare, Inc.; NETSCOUT® è un marchio registrato di NETSCOUT Systems Inc.; ElasticSearch®, LogStash®, e Kibana® sono marchi registrati di Elastic N.V. Hetzner Online GmbH detiene i diritti su Hetzner®; OVHcloud è un marchio registrato di OVH Groupe SAS; cPanel®, L.L.C. detiene i diritti su cPanel®; Plesk® è un marchio registrato di Plesk International GmbH; Facebook, Inc. detiene i diritti su Facebook®. Questo sito non è affiliato, sponsorizzato o altrimenti associato a nessuna delle entità sopra menzionate e non rappresenta nessuna di queste entità in alcun modo. Tutti i diritti sui marchi e sui nomi di prodotto menzionati sono di proprietà dei rispettivi detentori di copyright. Ogni altro marchio citato appartiene ai propri registranti. MANAGED SERVER® è un marchio registrato a livello europeo da MANAGED SERVER SRL, Via Enzo Ferrari, 9, 62012 Civitanova Marche (MC), Italia.

Torna in alto