• здравствуйте. проверил плагином P3 (Plugin Performance Profiler) скорость работы всех установленых плагинов. как он показал, Yoast WordPress SEO занимает 63% скорости загрузки, что составляет 0.0807 секунд.

    это самый медленный плагин, из всех, установленных на проекте. т.к. сайт довольно таки большой и содержит много изображений, хочу найти более быструю альтернативу, или вообще реализовать все без плагина, к примеру через произвольные поля, но не очень понимаю как это сделать. стоит отметить, что плагин использую исключительно для прописывания уникальных title на сайте. другими функциями не пользуюсь и они мне не нужны.

    чем можно его заменить и не потерять все тайтлы ?

    сейчас титлы выглядят следующим образом:

    Главная:
    <название сайта> — <уникальное описание главной страницы>
    Постраничная навигация:
    Записи блога: <слоган> — Страница 2 из 49 — <название сайта>
    Категория:
    <название категории> — <название сайта>
    Постраничная навигация категории:
    <название категории> — Страница 2 из 19 — <название сайта>
    Архив:
    <Архив за 2014 год> — <название сайта>
    Постраничная навигация архива:
    <Архив за 2014 год> — Страница 2 из 4 — <название сайта>
    Пост:
    <название поста> — <название сайта>
    Страница:
    <название страницы> — <название сайта>
    404:
    <404 Error Page> — <название сайта>

    очень надеюсь на вашу помощь. спасибо.

Просмотр 14 ответов — с 1 по 14 (всего 14)
  • Автор Kanjo

    (@kanjo)

    меня на этом форуме специально игнорируют или есть какие-то объективные причины, по которым мне никто не хочет отвечать ? ;(

    Автор Kanjo

    (@kanjo)

    меня на этом форуме специально игнорируют или есть какие-то объективные причины, по которым мне никто не хочет отвечать ? ;(

    нечего было ставить комбайн для прописывания заголовков. ставьте all in one seo pack — ищите в гугле способы экспорта\импорта.

    Автор Kanjo

    (@kanjo)

    а нельзя это реализовать через произвольные поля ? если можно, то подскажите пожалуйста, как и где их прописать правильно.

    спасибо.

    нельзя через произвольные.
    вы заголовки для главной, рубрик, постраничной и тд как прописывать собрались? нет у них произвольных полей.
    с произвольными можно только записи и страницы сделать, но лучше сразу плагин использовать.

    вы из одной крайности (комбайн, размером почти с движок) в другую крайность переходите (свой код, построенный на произвольных полях).

    Автор Kanjo

    (@kanjo)

    вы заголовки для главной, рубрик, постраничной и тд как прописывать собрались?

    к примеру через файл функций как-нить настроить. все то же самое можно сделать через плагин, но я стремлюсь к минимализму, да и в файлах темы мне не привыкать ковыряться

    вы из одной крайности (комбайн, размером почти с движок) в другую крайность переходите (свой код, построенный на произвольных полях).

    это да, но в приоритете ускорение времени отклика и снижение нагрузки …

    прописывание заголовков в функциях темы это уже костыль. причем довольно-таки серьезный. как вы там через пару лет будете вспоминать, где и как что прописывали? если думаете, что запомните — то ошибаетесь. но решать вам, конечно — кодом заголовки выводить довольно-таки просто.

    Автор Kanjo

    (@kanjo)

    у меня в функциях на этот случай все ключевые моменты прокомментированы, да и структура сайта наконец-таки сформировалась. поэтому я не думаю, что буду ее менять в рамках моего проекта.

    сейчас основная задача понять, как это все реализовать и перенести.

    с произвольными полями по моему немного разобрался. в админке, непосредственно в записи, где произвольные поля есть кнопочка «Введите новое». там если я правильно понял, я ввожу title и уже в появившемся поле прописываю мне необходимый тайтл. Правильно ?

    если все так, то руками перенести тайтлы постов и страниц можно за 1-2 дня, а затем просто отключить плагин.

    но как это поле прописать в хедер.пхп и как реализовать титлы для служебных страниц я не понимаю (((

    зря вы так. у меня вот на сайте лишь малая часть заголовков формируется вручную в header.php, выглядит это так:

    <?php $temptitle = get_post_meta($post->ID, "_aioseop_title", true);
    	if ($temptitle==""){$temptitle = get_post_meta($post->ID, "title_tag", true);}
    	if ($temptitle==""){$temptitle = get_the_title();}  ?>
    
    <?php if (in_category(array( '5', '107', '108')) && is_single()) : ?>
    <?php global $cpage; if ($cpage < 1) : ?>
    <?php if (in_category('107')) {echo single_post_title('<title>') . ' - функция WordPress (тег шаблона)</title>';} ?><?php if (in_category('5')) {echo single_post_title('<title>') . ' - тег шаблона (Template Tag) WordPress</title>';} ?><?php if (in_category('108')) {echo single_post_title('<title>') . ' - условный тег (Conditional Tag) WordPress</title>';} ?>
    <?php else : ?>
    <?php if (in_category('107')) {echo single_post_title('<title>') . ' - функция WordPress (тег шаблона) ('.$cpage.')</title>';} ?><?php if (in_category('5')) {echo single_post_title('<title>') . ' - тег шаблона (Template Tag) WordPress ('.$cpage.')</title>';} ?><?php if (in_category('108')) {echo single_post_title('<title>') . ' - условный тег  (Conditional Tag) WordPress ('.$cpage.')</title>';} ?>
    <?php endif; ?>
    <?php else : ?>
    <title><?php global $cpage; $post_permalink = $_SERVER["REQUEST_URI"]; ?><?php if ($cpage < 1) : ?><?php if(strpos($post_permalink, '?comment-all=1') == true) : ?><?php echo $temptitle; ?> (Все)<?php else : ?><?php if (function_exists('seo_title_tag')) {  } else {if (is_home () ) { bloginfo('name'); }
    elseif ( is_category() ) { single_cat_title(); echo ' - ' ; bloginfo('name'); }
    elseif (is_single() ) { single_post_title();}
    elseif (is_page() ) { single_post_title();}
    else { wp_title('',true); }} ?><?php endif; ?><?php else : ?><?php echo $temptitle; ?> (<?php print $cpage; ?>)<?php endif; ?></title>
    <?php endif; ?>
    <?php if(strpos($post_permalink, 'comment-page') == true) : ?><meta name="description" content="<?php the_title(); ?>: <?php print $cpage; ?> страница комментариев. В комментариях вы можете получить ответ на любой вопрос. Заходите :)" />
    <?php endif; ?>
    <?php if(strpos($post_permalink, '?comment-all=1') == true) : ?>
    <meta name="description" content="<?php the_title(); ?>: страница всех комментариев. В комментариях вы можете получить ответ на любой вопрос. Заходите :)" />
    <?php endif; ?>
    <?php if (in_category(array( '5', '107')) && is_single()) : ?>
    <?php $post_permalink = $_SERVER["REQUEST_URI"]; if(strpos($post_permalink, 'comment-page') == true) : ?>
    <meta name="description" content="<?php single_post_title(); ?> - <?php print $cpage; ?> страница комментариев. В комментариях вы можете получить ответ на любой вопрос. Заходите :)" />
    <?php elseif (strpos($post_permalink, '?comment-all=1') == true) : ?>
    <meta name="description" content="<?php single_post_title(); ?>: страница всех комментариев. В комментариях вы можете получить ответ на любой вопрос. Заходите :)" />
    <?php else : ?>
    <meta name="description" content="Русское подробное описание функции (тега) WordPress <?php single_post_title(); ?> с примерами и пояснениями работы. Заходите :)" />
    <?php endif; ?>
    <?php endif; ?>
    <?php if (in_category('108') && is_single()) :  ?>
    <?php $post_permalink = $_SERVER["REQUEST_URI"]; if(strpos($post_permalink, 'comment-page') == true) : ?>
    <meta name="description" content="<?php single_post_title(); ?> - <?php print $cpage; ?> страница комментариев. В комментариях вы можете получить ответ на любой вопрос. Заходите :)" />
    <?php elseif (strpos($post_permalink, '?comment-all=1') == true) : ?>
    <meta name="description" content="<?php single_post_title(); ?>: страница всех комментариев. В комментариях вы можете получить ответ на любой вопрос. Заходите :)" />
    <?php else : ?>
    <meta name="description" content="Русское подробное описание условного тега (функции) WordPress <?php single_post_title(); ?> с примерами и пояснениями работы. Заходите :)" />
    <?php endif; ?>
    <?php endif; ?>
    <?php if (is_home() && is_paged()) : ?>
    <meta name="description" content="Русские плагины WordPress, инструкции по установке и настройке плагинов WordPress. Страница архива <?php print $paged; ?>. Заходите :)" />
    <?php endif; ?>

    если вы думаете, что в этом коде легко разобраться и внести изменения уже через неделю после его добавления, то вы ошибаетесь.

    а вам переносить ничего не надо — можно использовать произвольные поля плагина Yoast WordPress SEO — не знаю скрытые они там или нет, это по сути неважно. выводить их просто — тупо в header.php писать:

    if (is_single() ) {echo 'title="' . get_post_meta($post->ID, "title_tag", true) . '"';}

    ну и так далее, арсенал условных тегов в вашем распоряжении.

    Автор Kanjo

    (@kanjo)

    ядрёёёна кочерыжка. это чтож получается, такая огромная конструкция прописана в файле хедера ??? ОО

    а вам переносить ничего не надо — можно использовать произвольные поля плагина Yoast WordPress SEO

    не очень понял, зачем мне использовать произвольные поля плагина, если он грузит систему и стоит задача избавиться от него ?

    в данный момент у меня тайтл выводится следующим образом

    <title><?php if ( is_home() && ! is_paged() ) { echo "тайтл главной страницы";} else { wp_title(''); }?></title>

    да плагин вы можете вообще деактивировать — его произвольные поля все равно останутся в записях. и именно поэтому их можно использовать. это чтобы не переносить инфу туда-сюда.

    а про код — учтите, этот кусок кода у меня отвечает лишь за несколько рубрик сайта и постраничную навигацию — большую часть заголовков формирует All in One SEO Pack — поэтому полный код был бы в несколько раз больше. я потому и говорю, что плагин лучше — в этих конструкциях путаешься уже в процессе написания, а уж про последующее редактирование и говорить не стоит.

    Автор Kanjo

    (@kanjo)

    эт да, тут не поспоришь. но по сути дела, All in One SEO Pack — это тот же экскаватор с кучей функций, из которых мне нужна лишь одна — прописание титлов.

    изначально именно он у меня стоял, но что-то не понравилось и сменил его на Yoast

    может быть есть на примете простенький и шустрый плагин, который смог бы реализовать все то же самое, что я описал в первом посте ?

    all in one и есть относительно маленький плагин — все его остальные модули по умолчанию отрублены, а основная его функция довольно-таки простая и быстрая. плагин не идеален, но ничего проще и быстрее вы сейчас не найдете — остальные seo-плагины нынче берут пример с yoast — то есть понапихивают в себя все что нужно и не нужно.

    Автор Kanjo

    (@kanjo)

    в любом случае, даже если эти функции по умолчанию отключены, плагин ведь должен совершать время от времени проверки на включена ли опция или нет. а это как мне кажется тоже пусть и самую малость, но тормозит работу сайта

    собственно, из всего выше описанного в голове крутятся 2 решения поставленной задачи:

    1. попытаться найти плагин, который управляет исключительно титлами
    2. попытаться написать функцию для служебных страниц, подружить ее с произвольными полями для записей и подгрузить всю эту конструкцию в хедер.

    не знаю почему, но больше я склонен к функции …

Просмотр 14 ответов — с 1 по 14 (всего 14)
  • Тема «Yoast WordPress SEO — очень долгие. как ускорить ?» закрыта для новых ответов.