Un utente ha chiesto
Categoria: Media Library Assistant di WordPress
Domanda: indicizzare le immagini nella mappa del sito yoast seo

Buongiorno,
Si prega di controllare il link della mappa del sito https://echoes.paris/portfolio-sitemap.xml

Come nella mappa del sito, tutti i progetti hanno UN’immagine ma in effetti c’è una galleria mla aggiunta dal file modello tramite do_shortcode('[mla-gallery]')

Si prega di dare un’occhiata a https://echoes.paris/projects/climate-ribbon-tm/

Tutte le immagini nella galleria provengono dal file modello php e non dall’editor wp.

Per favore dicci come indicizzare l’immagine della galleria nella mappa del sito yoast seo.

Qualsiasi aiuto sarebbe molto apprezzato!

grazie

La pagina per cui ho bisogno di aiuto: [log in to see the link]

  • Autore del plugin

    (@dglingren)

    Grazie per la tua domanda e per aver menzionato Yoast nella descrizione del problema. Grazie anche per la pazienza mentre lavoro sugli argomenti che si sono accumulati durante i miei viaggi.

    Puoi trovare questo argomento di interesse in precedenza:

    MLA è in conflitto con Yoast SEO Sitemap

    Puoi adattare il codice nel plugin di esempio sviluppato per questo argomento e vedere se migliora i tuoi risultati. Per ottenere il plug-in di esempio, vai alla scheda Impostazioni/Documentazione dell’Assistente libreria multimediale e fai clic sul pulsante “Plug-in di esempio”. Digita “yoast” nella casella di testo e fai clic su “Cerca plugin” per filtrare la tabella.

    Stai cercando il plugin “MLA Yoast SEO Example”. Trova questo plugin e passa il mouse sopra il titolo nella colonna più a sinistra. Fai clic sull’azione al passaggio del mouse “Installa” (o “Aggiorna”), quindi vai al sottomenu Plugin WordPress / Plugin installati e attiva il plug-in di esempio come faresti con qualsiasi altro plug-in. Puoi anche fare clic sul link “Download” per ottenere una copia del codice per il tuo sviluppo.

    Come vedrai, il plugin di esempio aggancia un filtro fornito da Yoast, wpseo_sitemap_urlimages, esegui gli shortcode nel post/pagina e restituisci gli URL delle immagini selezionate dallo shortcode (s). Puoi sostituire il codice che analizza il contenuto del post/pagina con il tuo do_shortcode('[mla-gallery]') del modello.

    Spero che tu possa trovare utile il plugin di esempio. Segnalo questo argomento come risolto, ma aggiornalo in caso di problemi o altre domande relative ai suggerimenti di cui sopra. Grazie per il tuo interesse per MLA.

    (@ibnul)

    Buongiorno,
    Grazie per la tua risposta e spiegazione.

    Infatti, abbiamo già installato e attivato il plugin “MLA Yoast SEO Example”, ma ancora non mostra il numero di immagini nella mappa del sito. Mostra solo un’immagine.

    Inoltre non capisco cosa intendi per:
    Come vedrai, il plugin di esempio aggancia un filtro fornito da Yoast, wpseo_sitemap_urlimages, esegue gli shortcode nel post/pagina e restituisce gli URL delle immagini selezionate dallo shortcode (s). Puoi sostituire il codice che analizza il contenuto del post/pagina con il tuo do_shortcode (‘[mla-gallery]’) dal modello.

    Potresti illuminarmi per favore?

    Grazie per l’aiuto.

    Autore del plugin

    (@dglingren)

    Il plug-in “MLA Yoast SEO Example” non funzionerà così com’è perché cerca shortcode nel contenuto del post / pagina e il tuo do_shortcode('[mla-gallery]') è nel modello PHP. Dovrai copiare il codice dal plugin di esempio in un plugin a tua scelta o aggiungere il codice a quello del tuo tema functions.php deporre. Chiunque abbia modificato il modello PHP dovrebbe avere sufficienti competenze PHP per farlo.

    Per aiutarti a iniziare, ecco una versione ridotta del plug-in di esempio che funziona sul mio sistema di test:

    <?php
    /*
    Plugin Name: Ibnul Yoast SEO Example
    Description: Supports WordPress SEO by Yoast Page Analysis and XMP Sitemap generation
    Author: David Lingren
    Version: 1.00
    */
    
    class IbnulYoastSEOExample {
    	public static function initialize() {
    		/*
    		 * Filter: 'wpseo_sitemap_urlimages' - Allows updates to the list of images in the page/post
    		 * Filter: 'wpseo_sitemap_entry' - adjusts the entire entry before it gets added to the sitemap
    		 *
    		 * Defined/applied in /wordpress-seo/inc/class-sitemaps.php
    		 */
    		add_filter( 'wpseo_sitemap_urlimages', 'IbnulYoastSEOExample::wpseo_sitemap_urlimages', 10, 2 );
    	}
    
    	public static function wpseo_sitemap_urlimages( $url, $post_id ) {
    		global $post;
    
    		$post = get_post( $post_id ); // Set the parent post/page; used in [mla_gallery]
    		$the_gallery = do_shortcode( '[mla_gallery]' );
    
    		// If MLA is not active the shortcode is not processed; substitute empty results.
    		if ( $the_gallery == '[mla_gallery]' ) {
    			$the_gallery = '';
    		}
    
    		// Collect the Title values for gallery items
    		$titles = array();
    		$ref_count = preg_match_all( '/<img.*aria-describedby=".*-([0-9]*)".*src="([^"]*)"/', $the_gallery, $references );
    		if ( $ref_count ) {
    			foreach( $references[1] as $ref_index => $reference ) {
    				$item = get_post( absint( $reference ) );
    				if ( !empty( $item->post_title ) ) {
    					$titles[ $references[2][ $ref_index ] ] = $item->post_title;
    				}
    			}
    		}
    
    		// Collect the URL and Alt Text values for gallery items
    		$ref_count = preg_match_all( '/<img.*src="([^"]*)".*alt="([^"]*)"/', $the_gallery, $references );
    		if ( $ref_count ) {
    			foreach( $references[1] as $ref_index => $reference ) {
    				if ( !empty( $titles[ $reference ] ) ) {
    					$url[] = array( 'src' => $reference, 'title' => $titles[ $reference ], 'alt' => $references[2][ $ref_index ] );
    				} else {
    					$url[] = array( 'src' => $reference, 'alt' => $references[2][ $ref_index ] );
    				}
    			}
    		}
    
    		unset( $ref_count, $references );
    		return $url;
    	}
    } // Class IbnulYoastSEOExample
    
    // Install the filter at an early opportunity
    add_action('init', 'IbnulYoastSEOExample::initialize');
    ?>
    

    Puoi copiare il codice sopra in un file PHP e aggiungerlo come plugin al tuo sistema. Fatemi sapere se avete problemi o altre domande sul codice sopra.

    (@ibnul)

    Buongiorno,
    Apprezzo molto il tuo rapido aiuto e il tuo codice.

    Ho aggiunto il codice sopra come plugin e attivato.
    Penso che funzioni perché era il numero di 1 immagini per tutti gli articoli nel portfolio.
    Ma dopo aver attivato il plugin, ne vengono visualizzati diversi.
    https://echoes.paris/portfolio-sitemap.xml

    Puoi dare un’occhiata qui.
    In effetti, il numero di immagini non è ancora corretto.
    C’è la possibilità di essere corretti più tardi, per favore?

    Grazie ancora una tonnellata.

    Autore del plugin

    (@dglingren)

    Grazie per le belle parole e le buone notizie riguardanti il ​​codice di esempio che ho suggerito.

    Hai scritto “il numero di immagini non è corretto.“Mi dispiace non poter lavorare con te per perfezionare il codice per il tuo sito specifico. Eventuali problemi rimanenti che hai con la generazione della sitemap XML dovranno essere risolti con gli sviluppatori del tuo sito o con il team di supporto SEO Yoast.

    Se hai un problema direttamente correlato all’Assistente libreria multimediale o al [mla_gallery] shortcode sta pubblicando un aggiornamento qui e lo indagherò. Grazie per la vostra comprensione e per il vostro interesse per MLA.

Hai risolto il tuo problema?

0 / 0

Lascia un commento 0

Il tuo indirizzo email non sarà pubblicato. Required fields are marked *