Hai un plugin freemium sul repository di WordPress e vorresti migliorarne la visibilità?
Dopo tutto il lavoro e l’impegno che hai messo nello sviluppo del plugin, continui a non comparire tra i primi risultati di ricerca del repository di WordPress.org?
È frustrante.
Purtroppo è proprio quello che succede a me con i miei plugin.
Non sono la persona più autorevole per parlarne visti i risultati, ma ho fatto una bella ricerca per capire come migliorare i miei risultati.
Ecco quali sono fattori più importanti di ottimizzazione su cui puoi agire.
Una parte del codice sorgente della ricerca sul repository è open source, si basa su Elasticsearch, lo trovi qui: libs/site-search/jetpack-search.php.
Indice
Recensioni
È probabilmente uno tra i punti più importanti.
Quando il plugin è nuovo, senza nessuna recensione, il ranking è decisamente scarso.
Guarda il mio plugin RIACO Autocomplete Orders for WooCommerce.
Per la query “Autocomplete Orders for WooCommerce” si trova in 5 pagina.

Non dico che dovrebbe essere in prima posizione, ma neanche in 5 pagina dopo plugin che non c’entrano nulla con la keyword ricercata, anche se hanno reviews e installazioni attive maggiori.
Per il mio plugin Was This Helpful?, è bastata una sola recensione organica per posizionarmi in prima pagina, in cima ai risultati di ricerca per la parola chiave “Was This Helpful”.

Posizione corretta, perchè il plugin deve ancora maturare e guadagnare la fiducia degli utenti (ha solo 10+ installazioni attive), ma almeno ha la possibilità di avere la visibilità adeguata.
Nel codice sorgente si può vedere che non avere nessun rating è come avere un rating di 2.5:
public static function score_query_by_recency( $query ) {
...
...
array(
'field_value_factor' => array(
'field' => 'rating',
'factor' => 0.25,
'modifier' => 'sqrt',
'missing' => 2.5,
),
),
}
Non è proprio il massimo!
Ottenere il prima possibile una recensione positiva a 5 stelle è fondamentale.
La domanda quindi è: come fare per ottenere recensioni a 5 stelle quando il plugin è nuovo?
Il modo migliore?
Dico una banalità: far provare il plugin gratuito a persone interessate alla sua funzionalità, chiedendo di lasciare una recensione libera.
Se valuteranno il plugin 1 stella, probabilmente la quinta pagina della ricerca è la posizione corretta dove far comparire il plugin.
Ma se il plugin fa quello che dice, ci possono essere ottime probabilità di ricevere valutazioni interessanti, e soprattutto feedback utili per migliorare il plugin.
Per far provare il plugin a più persone targettizzate si potrebbe:
- chiedere ai colleghi.
- chiedere sui gruppi social di sviluppatori.
- chiedere sui gruppi social di persone che cercano soluzioni per la funzionalità del plugin.
- pubblicare contenuti sui social in merito al plugin.
- pubblicare articoli che risolvono il problema dell’utente usando il tuo plugin (SEO, quindi risultati lenti).
- pubblicare articoli per spiegare come funziona il plugin.
Insomma, il classico marketing.
È importante sottolineare però che la recensione deve essere libera, nel bene e nel male.
Supporto
Il supporto è uno dei fattori di posizionamento, per cui prestaci bene attenzione:
array(
'field_value_factor' => array(
'field' => 'support_threads_resolved',
'factor' => 0.25,
'modifier' => 'log2p',
'missing' => 0.5,
),
),
Se il plugin è nuovo e non hai nessuna richiesta di supporto, il punteggio che riceverai di default è 0.5.
Male.
In questo caso non farei niente per incentivare le richieste di supporto, tanto arriveranno da sole se il plugin verrà utilizzato.
Piuttosto mi concentrerei a dare il massimo supporto possibile per risolverle quando si presenteranno le richieste.
Data aggiornamento
La data di aggiornamento del plugin influenza il posizionamento:
public static function score_query_by_recency( $query ) {
...
$date_scale = '360d';
$date_offset = '180d';
$date_decay = 0.5;
$date_origin = date( 'Y-m-d' );
...
'exp' => array(
'plugin_modified' => array(
'origin' => $date_origin,
'offset' => $date_offset,
'scale' => $date_scale,
'decay' => $date_decay,
)
)
...
}
Che vuol dire che i plugin con data di aggiornamento più vecchia di 6 mesi perdono gradualmente punteggio.
Compatibilità con ultima versione di WP
Anche la compatibilità con l’ultima versione di WP viene usata nel ranking:
'exp' => array(
'tested' => array(
'origin' => WP_CORE_STABLE_BRANCH,
'offset' => 0.1,
'scale' => 0.4,
'decay' => 0.6,
)
)
Readme.txt
Tra i fattori di posizionamento SEO del plugin all’interno del repository sotto il nostro controllo c’è la pagina di presentazione del plugin, per cui, proviamo ad ottimizzarla per il ranking.
Dal codice sorgente, vediamo che il ranking che dipende dal file readme.txt dipende principalmente da:
- Quanto un documento corrisponde alla query (multi_match su diversi campi).
- Boost applicati ai campi importanti (titolo, excerpt, descrizione, tag, autore).
- Lingua del contenuto (i contenuti nella lingua della query hanno maggiore peso).
Quando l’utente cerca un plugin, quella query di ricerca viene ricercata in:
- Tutto il contenuto del file readme.txt
all_content_enoall_content_localecon boost iniziale basso (boost = 0.1) - Frasi esatte nel titolo, excerpt, descrizione, tag hanno un boost maggiore (
boost = 2). I documenti che contengono esattamente la frase cercata salgono nel ranking - Frasi parziali o n-gram (per parole spezzate) hanno un boost basso (
0.2), aiuta a recuperare documenti anche con parole simili. - titolo e slug hanno un boost maggiore (
2), documenti con query nel titolo hanno priorità. - excerpt e descrizione hanno un boost maggiore (
2), aiuta a dare peso al contenuto principale. - author/contributors hanno un boost
2per match con autore o collaboratore.
Se la lingua non è inglese, i campi inglesi ricevono un boost molto basso (0.00001) per evitare che documenti non tradotti penalizzino troppo.
Questo significa che i contenuti nella lingua corretta hanno maggiore peso.
$query = array(
'bool' => array(
'must' => array(
'multi_match' => array(
'query' => $args['query'],
'fields' => $matching_fields,
'boost' => 0.1,
'operator' => 'and',
),
),
'should' => array(
array(
'multi_match' => array(
'query' => $args['query'],
'fields' => $boost_phrase_fields,
'type' => 'phrase',
'boost' => 2,
),
),
array(
'multi_match' => array(
'query' => $args['query'],
'fields' => $boost_ngram_fields,
'type' => 'phrase',
'boost' => 0.2,
),
),
array(
'multi_match' => array(
'query' => $args['query'],
'fields' => $boost_title_fields,
'type' => 'best_fields',
'boost' => 2,
),
),
array(
'multi_match' => array(
'query' => $args['query'],
'fields' => $boost_content_fields,
'type' => 'best_fields',
'boost' => 2,
),
),
array(
'multi_match' => array(
'query' => $args['query'],
'fields' => array(
'author',
'contributors',
),
'type' => 'best_fields',
'boost' => 2,
),
),
),
),
);
È finita qua?
In realtà bisognerebbe vedere il file readme.txt come una landing page dove l’utente atterra, capisce se il plugin può risolvergli il suo problema nel migliore dei modi e decide di installarlo o meno.
Quindi bisogna curare sia l’aspetto grafico (icone, immagine di copertina, screenshots utili) che il contenuto dove si spiega i benefici che si ottengono usando questo plugin.
Questo migliora in maniera indiretta il posizionamento, in quanto è più probabile che il plugin venga installato.
Installazioni attive
Dopo aver ottimizzato i fattori su cui possiamo agire in maniera attiva, dovremmo pensare ai fattori indiretti, ma altrettanto importanti, come il numero delle installazioni attive.
Giustamente, anche le installazioni attive sono uno tra i fattori di ranking.
Ma per aumentare questo numero l’unica cosa che possiamo fare è offrire un plugin ottimo:
- con il minor numero di bug possibili.
- che fa esattamente quello che dice di fare, nel migliore dei modi.
- con il miglior supporto possibile.
- con tanto lavoro alle spalle.
- con dell’ottimo marketing.
- con una demo del plugin funzionante.
- con tanta pazienza.
Concludendo
Agisci subito su ciò che puoi agire, richiedi recensioni, risolvi tutte le richieste di supporto, concentrati sull’ottimizzazione del file readme.txt, e crea un buon piano di marketing.
Poi passa all’ottimizzazione grafica e dei contenuti del readme.txt.
Crea una live demo del plugin oltre ad un video da caricare su Youtube.
Fai network.
Usa le recensioni per migliorare il prodotto.
Ricomincia.
E se ti va, prova a dare un’occhiata ai miei plugins e lascia pure una recensione libera.
Buon lavoro!


