PATH:
home
/
letacommog
/
rachat-or-bourgenbresse
/
wp-content
/
plugins
/
wordpress-seo
/
src
/
actions
/
indexing
<?php namespace Yoast\WP\SEO\Actions\Indexation; use Yoast\WP\SEO\Models\Indexable; use Yoast\WP\SEO\Repositories\Indexable_Repository; /** * General reindexation action for indexables. */ class Indexable_General_Indexation_Action implements Indexation_Action_Interface { /** * Represents the indexables repository. * * @var Indexable_Repository */ protected $indexable_repository; /** * Indexable_General_Indexation_Action constructor. * * @param Indexable_Repository $indexable_repository The indexables repository. */ public function __construct( Indexable_Repository $indexable_repository ) { $this->indexable_repository = $indexable_repository; } /** * Returns the total number of unindexed objects. * * @return int The total number of unindexed objects. */ public function get_total_unindexed() { $indexables_to_create = $this->query(); return \count( $indexables_to_create ); } /** * Creates indexables for unindexed system pages, the date archive, and the homepage. * * @return Indexable[] The created indexables. */ public function index() { $indexables = []; $indexables_to_create = $this->query(); if ( isset( $indexables_to_create['404'] ) ) { $indexables[] = $this->indexable_repository->find_for_system_page( '404' ); } if ( isset( $indexables_to_create['search'] ) ) { $indexables[] = $this->indexable_repository->find_for_system_page( 'search-result' ); } if ( isset( $indexables_to_create['date_archive'] ) ) { $indexables[] = $this->indexable_repository->find_for_date_archive(); } if ( isset( $indexables_to_create['home_page'] ) ) { $indexables[] = $this->indexable_repository->find_for_home_page(); } return $indexables; } /** * Returns the number of objects that will be indexed in a single indexing pass. * * @return int The limit. */ public function get_limit() { // This matches the maximum number of indexables created by this action. return 4; } /** * Check which indexables already exists and return the values of the ones to create. * * @return array The indexable types to create. */ private function query() { $indexables_to_create = []; if ( ! $this->indexable_repository->find_for_system_page( '404', false ) ) { $indexables_to_create['404'] = true; } if ( ! $this->indexable_repository->find_for_system_page( 'search-result', false ) ) { $indexables_to_create['search'] = true; } if ( ! $this->indexable_repository->find_for_date_archive( false ) ) { $indexables_to_create['date_archive'] = true; } $need_home_page_indexable = ( (int) \get_option( 'page_on_front' ) === 0 && \get_option( 'show_on_front' ) === 'posts' ); if ( $need_home_page_indexable && ! $this->indexable_repository->find_for_home_page( false ) ) { $indexables_to_create['home_page'] = true; } return $indexables_to_create; } }
[+]
..
[-] term-link-indexing-action.php
[edit]
[-] indexable-general-indexation-action.php
[edit]
[-] post-link-indexing-action.php
[edit]
[-] indexable-post-type-archive-indexation-action.php
[edit]
[-] abstract-link-indexing-action.php
[edit]
[-] indexable-prepare-indexation-action.php
[edit]
[-] indexable-term-indexation-action.php
[edit]
[-] indexable-indexing-complete-action.php
[edit]
[-] indexation-action-interface.php
[edit]
[-] indexing-complete-action.php
[edit]
[-] indexable-post-indexation-action.php
[edit]
[-] .htaccess
[edit]