
Kad sāku veidot emuārus, es neievēroju nekādus SEO vai optimizācijas noteikumus vai ko citu. Es vienkārši publicēju un viss. Tā rezultātā man uzkrājās tūkstošiem neoptimizētu attēlu un simtiem garu, ļoti garu rakstu.
Pēc tam es turpināju publicēt citus garus rakstus, kurus optimizēju pietiekami. Līdz šim ir aptuveni 100 rakstu, kuru apjoms pārsniedz 1500 vārdus, un vairāki desmiti rakstu, kuru apjoms pārsniedz 3500 vārdus. Un daudzi citi, kuru garums pārsniedz 1000 vārdus.

Daudzi no šiem tekstiem ir tā sauktie"mūžzaļie" jeb mūžīgie raksti. Tā kā tie ir pilnīgāki teksti nekā tipisks ātrs ieraksts, tie parasti ir saites, kas ir labāk ierindotas un saņem vairāk pastāvīgas organiskās datplūsmas. Tā ir labā ziņa, bet sliktā ziņa ir tā, ka tie bija arī tie ziņojumi, kas ielādējās vissliktāk un kas deva sliktus rādītājus, jo Google apstrādā URL pēc grupām.
Un tas bija jālabo daudzu iemeslu dēļ.
Kāpēc sadalīt garas ziņas?
Galvenais iemesls, kāpēc ir ieteicams sadalīt garas ziņas lapās, ir mazināt slodzi, īpaši tām, kurās ir daudz attēlu un/vai videoklipu un citu elementu.
Papildus nepieciešamajam ielādes ātruma uzlabojumam, tas palielinās izredzes sasniegt labāku pozīciju vai vismaz to saglabāt, kā arī palielinās apmeklētāju pavadīto laiku un vienā sesijā apmeklēto lapu skaitu, samazinot bounce rate.
Tomēr ir dažas lietas, kas jāpatur prātā. Saglabājiet sākotnējo URL, lai neradītu jaunus URL, kas var vājināt SEO un lai Google un citas pārlūkprogrammas turpinātu indeksēt saturu kā vienu rakstu.
Svarīgākais ir vietnē izmantot rel="next" un rel="prev", lai norādītu Google, ka tā ir sērija.
Piemēram, piemēram, postā, kas sadalīts trijās lapās, apmeklējot otro lapu, jums būs jāatrod tas avota kodā, kas atrodas tagā.
<link rel="canonical" href="https://jrmora.com/post-ejemplo/2/" />
<link rel="prev" href="https://jrmora.com/post-ejemplo/" />
<link rel="next" href="https://jrmora.com/post-ejemplo/3/" />
Daži apsvērumi
Nepietiek tikai sadalīt rakstus vai vienkārši iegūt vairāk lapu skatījumu. Lapu numerācijai jābūt ar noteiktu loģiku, kas balstīta uz dabisku navigāciju. Šim nolūkam jums ir jāiejūtas apmeklētāja vietā vai jāpārlūko sava vietne tā, it kā tā būtu kāda cita lietotāja vietne.
Katrai apakšlapai jābūt patstāvīgai vai vismaz pirms tās jābūt informācijai par to, kas tajā atrodams, un loģiskam ievadam par jauno apakšlapu. Tai jābūt pietiekami saturīgai, lai to neuzskatītu par nabadzīgu vai mazvērtīgu. Google soda"nepietiekamu saturu".
Lapu numerācijai skaidri jānorāda, ka raksts ir sadalīts lappusēs. Tāpat nav slikti vismaz pirmajā lappusē pievienot satura rādītāju.
Lai gan nav "oficiālu" noteikumu, izvairieties no pārmērīgas lappušu numerācijas. Parasti ir ieteicams 1500/1800 vārdu vai vairāk rakstus sadalīt ne vairāk kā divās vai trīs lappusēs.
Sadalīt amatu ar Gutenberg's native page break bloku
Ir dažādi veidi, kā to izdarīt, izmantojot spraudņus, taču, kā jūs zināt, es dodu priekšroku pēc iespējas mazāk spraudņu izmantošanai.
Labākais risinājums ir Gutenberg"Page Break" bloks.

Šis bloks sadalītajām lapām pievieno rel="next" un rel="prev" un "canonical" tagus, bet, ja vēlaties, lai tie tiktu parādīti, varat iekļaut šo funkciju šablona failā functions.php.
// Añadir etiquetas rel="next" y rel="prev" para paginación con Bloque Page Break <!--nextpage--> o Salto de Página
function gp_add_pagination_rel_tags() {
if (is_singular() && !is_front_page()) {
global $page, $numpages, $post;
// Solo si hay paginación
if ($numpages > 1) {
// Etiqueta rel="prev" (página anterior)
if ($page > 1) {
echo '<link rel="prev" href="' . get_permalink($post) . ($page - 1) . '/" />' . "\n";
}
// Etiqueta rel="next" (página siguiente)
if ($page < $numpages) {
echo '<link rel="next" href="' . get_permalink($post) . ($page + 1) . '/" />' . "\n";
}
}
}
}
add_action('wp_head', 'gp_add_pagination_rel_tags');
Dizainam ir nozīme
Lapu numerācijas izskats un elementi ir ļoti svarīgi, jo tie ļaus apmeklētājam uzreiz saprast, ka raksts turpinās nākamajās lappusēs, un uzzināt, cik lappušu tas sastāv.
2- Blokā "Lapas pārrāvums" ir parādīts ļoti vienkāršs izkārtojums. Tas izskatās šādi:

Mēs meklējam kaut ko aprakstošāku un vizuāli pievilcīgāku.

Pirmais attēls būs redzams pirmās lapas apakšā, bet otrais - nākamajās lapās.

Šis izskats tiek panākts, izmantojot CSS, kas ir iekļauts kopējā kodā, kuru varat pievienot savam functions.php. Jūs varat to izkārtot, kā vien vēlaties, un tas atbilst jūsu emuāra krāsu paletei un dizainam.
Kods
Šeit ir kods, ko es tagad izmantoju.
*Tas ir pielāgots manām vajadzībām, jūs varat atdalīt CSS un modificēt to, pievienot vai noņemt valodas un mainīt tekstu.
Lai gan kods ir paredzēts Polylang izmantoto valodu atrašanai, tas darbosies arī tad, ja Polylang neizmantojat. Tomēr tas noteiks valodas tikai tad, ja URL ir šādas struktūras: tusitio.com/en/
// 1. Eliminar paginaciones automáticas
function remove_all_auto_pagination() {
if (function_exists('generate_do_post_pagination')) {
remove_action('generate_after_entry_content', 'generate_do_post_pagination');
}
add_filter('wp_link_pages', '__return_empty_string');
}
add_action('wp', 'remove_all_auto_pagination', 5);
// 2. Función auxiliar para números de página
function generate_pagination_numbers($total_pages, $current_page, $base_url) {
$numbers_html = '';
for ($i = 1; $i <= $total_pages; $i++) {
$page_url = ($i == 1) ? $base_url : $base_url . user_trailingslashit($i);
if ($i == $current_page) {
$numbers_html .= '<span class="current-page">' . $i . '</span>';
} else {
$numbers_html .= '<a href="' . esc_url($page_url) . '" class="pagination-link">' . $i . '</a>';
}
}
return $numbers_html;
}
// 3. Paginación multilingüe completa
add_filter('the_content', function($content) {
global $numpages, $post;
if (!is_singular() || $numpages <= 1) return $content;
$wp_query = $GLOBALS['wp_query'];
$current_page = $wp_query->get('page') ?: 1;
$base_url = trailingslashit(get_permalink());
// Sistema de detección de idioma
$language = 'en';
$available_langs = ['en','fr','de','es','pt','ru','it','sv','da','fi','nb','el','ar','tr','zh','id','ja','ko','uk','pl','cs','sk','lt','et','ro','hu','nl','bg'];
if (function_exists('pll_current_language')) {
$detected_lang = pll_current_language();
$language = in_array($detected_lang, $available_langs) ? $detected_lang : 'en';
} else {
$current_uri = esc_url_raw($_SERVER['REQUEST_URI']);
foreach ($available_langs as $lang) {
if (strpos($current_uri, '/'.$lang.'/') !== false) {
$language = $lang;
break;
}
}
}
// Textos completos para 28 idiomas (solo cambios en finlandés y ruso)
$localized_texts = [
'en' => ['Continue reading this post →', 'Pages of this post →'],
'fr' => ['Continuer à lire cet article →', 'Pages de ce billet →'],
'de' => ['Diesen Beitrag weiter lesen →', 'Seiten dieses Beitrags →'],
'es' => ['Seguir leyendo este post →', 'Páginas de este post →'],
'pt' => ['Continuar a ler esta publicación →', 'Páginas deste post →'],
'ru' => ['Продолжить чтение →', 'Страницы этого поста →'],
'it' => ['Continua a leggere questo post →', 'Pagine di questo post →'],
'sv' => ['Fortsätt läsa detta inlägg →', 'Sidor i detta inlägg →'],
'da' => ['Læs videre på dette indlæg →', 'Sider i dette indlæg →'],
'fi' => ['Jatka lukemista →', 'Artikkelin sivut →'],
'nb' => ['Fortsett å lese denne artikkelen →', 'Artikkelens sider →'],
'el' => ['Συνεχίστε την ανάγνωση →', 'Σελίδες άρθρου →'],
'ar' => ['تابع القراءة ←', 'صفحات المقال ←'],
'tr' => ['Okumaya devam edin →', 'Yazı sayfaları →'],
'zh' => ['继续阅读 →', '文章分页 →'],
'id' => ['Lanjutkan membaca →', 'Halaman artikel →'],
'ja' => ['続きを読む →', 'ページ移動 →'],
'ko' => ['더 보기 →', 'ページ →'],
'uk' => ['Читати далі →', 'Сторінки статті →'],
'pl' => ['Czytaj dalej →', 'Strony artykułu →'],
'cs' => ['Pokračovat ve čtení →', 'Stránky článku →'],
'sk' => ['Pokračovať v čítaní →', 'Stránky článku →'],
'lt' => ['Skaityti toliau →', 'Straipsnio puslapiai →'],
'et' => ['Jätka lugemist →', 'Artikli leheküljed →'],
'ro' => ['Continuă lectura →', 'Paginile articolului →'],
'hu' => ['Tovább olvasom →', 'Cikk oldalai →'],
'nl' => ['Lees verder →', 'Artikelpagina\'s →'],
'bg' => ['Прочети още →', 'Страници на статията →']
];
$text_index = ($current_page == 1) ? 0 : 1;
$pagination_text = $localized_texts[$language][$text_index] ?? $localized_texts['en'][$text_index];
// Construcción de la paginación
$pagination_html = '<div class="custom-pagination-container">';
$pagination_html .= '<div class="pagination-content">';
$pagination_html .= '<span class="pagination-text">' . esc_html($pagination_text) . '</span>';
$pagination_html .= '<div class="pagination-numbers">';
$pagination_html .= generate_pagination_numbers($numpages, $current_page, $base_url);
$pagination_html .= '</div></div></div>';
return ($current_page > 1) ? $pagination_html . $content . $pagination_html : $content . $pagination_html;
}, 15);
// 4. CSS optimizado (sin referencias a fuentes)
add_action('wp_head', function() {
echo '<style>
/* Estilos base */
.custom-pagination-container {
margin: 25px 0;
padding: 15px 10px;
background: #f9f9f9;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
box-sizing: border-box;
width: 100%;
}
.pagination-content {
display: flex;
align-items: center;
justify-content: center;
max-width: 800px;
margin: 0 auto;
}
.pagination-text {
font-weight: 700;
color: #333;
margin-right: 10px;
white-space: nowrap;
}
.pagination-numbers {
display: inline-block;
}
.pagination-link,
.current-page {
display: inline-block;
padding: 8px 12px;
margin: 0 3px;
border-radius: 4px;
font-weight: 400;
font-size: 15px;
line-height: 1;
box-sizing: border-box;
transition: all 0.2s ease;
}
.current-page {
background: #b40006;
color: white;
font-weight: 700;
}
.pagination-link {
background: #f5f5f5;
color: #333;
text-decoration: none;
}
.pagination-link:hover {
background-color: #e0e0e0;
transform: translateY(-2px);
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
/* Estilos móvil */
@media (max-width: 600px) {
.pagination-content {
flex-direction: row;
flex-wrap: nowrap;
overflow-x: auto;
justify-content: flex-start;
padding-bottom: 5px;
-webkit-overflow-scrolling: touch;
}
.pagination-text {
font-size: 14px;
white-space: nowrap;
flex-shrink: 0;
}
.pagination-numbers {
display: flex;
flex-wrap: nowrap;
gap: 4px;
}
.pagination-link,
.current-page {
padding: 6px 10px;
min-width: 32px;
font-size: 14px;
margin: 0;
flex-shrink: 0;
}
}
</style>';
});