Нестандартная оптимизация wordpress. Совершенно секретно, специально для cy-pr.com))
Страницы: 1 2 След.
Нестандартная оптимизация wordpress. Совершенно секретно, специально для cy-pr.com)), Способ позволяющий без плагинов оптимизировать вывод кода wordpress во фронт части. Использовать только с минимальными знаниями php.
Всем доброго дня, недавно применил достаточно малоизвестный (возможно и неизвестный) метод оптимизации для указанной cms. Представляю его для внимания пользователей, которые смогут отказаться от использования лишних плагинов, не нарушат работу админ панели и приведут исходный код страниц к нормальным оптимизационным показателям.
Что получилось в итоге:

1. Уникализация кода
2. Закрытие "мусорных" данных движка
3. Снижение скорости загрузки сайта
4. Как следствие, устранение нагрузки на mysql
5. Изчез спам- и вирусно-подобный трафик (по состоянию 10 дней после применения, не утверждаю что это будет и дальше)6. Устранение отслеживания действий в админ панели (метрика и т.д.)

На чем основано:

1. На применении функции 
Код
<?php if ( is_user_logged_in() ) { ?> 
2. В качестве дополнения - изменение структуры папок (через wp-config.php). По этому пункту достаточно много материалов в сети. (если будет интресно, создам отдельную ветку)
Зачем это делается.

Исходя из наблюдений требования к сайтам ужесточаются и требуется не только уникальное контентное содержание, необходимость оптимизации кода (скорость и т.д.), но и уникальность програмного кода и общей структуры сайтов. В данном случае идет речь о фронте этой cms. 
В моем примере, изначально задача стояла в приведении к нормальным показателям скорости ответа сервера. Который, к примеру, доходил до 2-3 секунд. И это все из-за плагинов по типу: wp-hide, head cleaner, WP Super Cache и т.д. Вариаций было много, но в итоге и со скоростью были проблемы, и нарушалась работа в административной части.

Собственно способ.

1. Создайте в корне сайта (2 папки)

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

2. Внесите правки в двух файлах темы: header.php и footer.php

Пример для header.php
Код
<?php if ( is_user_logged_in() ) { ?>
<?php wp-header() ?>
<?php } else { ?>
<link href="/css/ваш-стиль.css" rel="stylesheet">  
<?php } ?>         
 
По аналогии вносятся изменения в файле footer.php

Код
 <?php if ( is_user_logged_in() ) { ?>
    <?php wp_footer() ?>
<?php } else { ?>
 <script type="text/javascript" src="/js/ваш-скрипт.js"></script>  
Код метрики и т.д. 
<?php } ?>

Принцип думаю понятен.

Таким образом, выносится только необходимое отображение скриптов и стилей для посетителей сайта + минимизация запросов к базе+ устраняется весь базовый "мусор" движка: wlwmanifest, generator, json+oembed, shortlink и т.д. А административная часть работает исправно.

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

3. Оптимизируем SEO плагины

Вы практически всегда используете SEO плагины, так как wordpress всегда хромает этим. В моем случае использовался плагин seopress.
Для его данных на странице, применилась замена отображения позиции wp-header на позицию bloginfo в исходном коде плагина. Это стандартное поле wp, при необходимости вы сами можете расположить custom field и прописать это в плагине. Так как в wp тег <title> вводится в wp-header, необходиомо добавить его хук вывода.


Должно получиться примерно так:
Код
<?php if ( is_user_logged_in() ) { ?>
<?php wp-header() ?>
<?php } else { ?>
<title><?php 
$meta_print_value=get_post_meta(get_the_ID(),'_seopress_titles_title',true);
echo($meta_print_value);
?>
</title>
<?php bloginfo() ?>
<link href="/css/ваш-стиль.css" rel="stylesheet">  
<?php } ?>

Естественно удалите ,предварительно, указанную ниже аналогичную строку в файле header.php
Код
<meta charset="<?php bloginfo('charset') ?>">


Кому не подходит.

1. У кого на сайте обширная сетка пользователей с разными уровнями доступа. Здесь нужно использовать переменную уже из доступа групп, а не просто регистрации.
2. У кого на сайте имеются визуальные конструкторы, генерирующие свои индивидуальные стили на каждой странице (устанете добавлять изменения в выведенный файл стилей).

Обратить внимание.

1. Не тестировалось с woocommerce, предполагаю ошибку всех расширений с ajax (естественно, который встроенный в wp-admin).
2. Явно будут прогнозируемые проблемы для использования встроенного в wp-includes jquery. Поэтому подключите jquery напрямую через папку js (вы создали в корне)
3. Генерация заголовков в архивах рубрик происходит неправильно (выводится title последней записи) - пока не разобрался.
Изменено: sawf - 19 Апреля 2021 12:47
А зачем вы там экранируете каждую строку в <?...?> и на кой добавляете к <? php? Это неактуально ещё со времён бакса по 28 рублей smile:)
Мы не можем похвастаться мудростью глаз
И умелыми жестами рук,
Нам не нужно все это, чтобы друг друга понять.
Сигареты в руках, чай на столе - так замыкается круг,
И вдруг нам становится страшно что-то менять.
Цитата
Eye пишет:
А зачем вы там экранируете каждую строку в <?...?> и на кой добавляете к <? php? Это неактуально ещё со времён бакса по 28 рублей smile:)
Потому что в вордпресс такой код, адресуйте данный вопрос его разработчику.
Цитата
sawf пишет:
Потому что в вордпресс такой код, адресуйте данный вопрос его разработчику.
В WP он модульный и автогенерируемый. А Вы руками написали. И за что же надо так не любить лояльных юзверей, которые зареганы на сайте, чтобы им показывать всё медленнее, чем мимопроходящим...
Цитата
Eye пишет:
Цитата
sawf пишет:
Потому что в вордпресс такой код, адресуйте данный вопрос его разработчику.
В WP он модульный и автогенерируемый. А Вы руками написали. И за что же надо так не любить лояльных юзверей, которые зареганы на сайте, чтобы им показывать всё медленнее, чем мимопроходящим...
Не совсем понял, цель данного диалога. То что описано в методе это пара моих строк, все остальное стандартные хуки и код вордпресса. Только переменные используются не для этого (не встречал сам), а например для аутентификации.  Вот для примера код стандартной темы twentyseventeen
Код
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="profile" href="http://gmpg.org/xfn/11">

<?php wp_head(); ?>
</head>

<body <?php body_class(); ?>>
<div id="page" class="site">
   <a class="skip-link screen-reader-text" href="#content"><?php _e( 'Skip to content', 'twentyseventeen' ); ?></a>

   <header id="masthead" class="site-header" role="banner">

      <?php get_template_part( 'template-parts/header/header', 'image' ); ?>

      <?php if ( has_nav_menu( 'top' ) ) : ?>
         <div class="navigation-top">
            <div class="wrap">
               <?php get_template_part( 'template-parts/navigation/navigation', 'top' ); ?>
            </div><!-- .wrap -->
         </div><!-- .navigation-top -->
      <?php endif; ?>

   </header> 

Насчет "мимопроходящих" - это опять же сделано для seo (точнее для оптимизации скорости и кода) - базовый код движка, откровенно изначально серьезно "загажен".

И все что "суется" на сайт отображается в двух позициях хедер и футер, соответственно везде где надо и не надо. Отсюда весомая нагрузка на бд на стандартном хостинге + отказной трафик и т.д.. Про лимиты и корявость настроек обычного хостинга говорить не будем. VPS или VDS для сайта на вордпрессе - не совсем дешевая и рациональная трата финансов.

Ну а насчет зарегистрированных и для них можно сделать, об этом написано по поводу привязки групп. Т.е. если расширить функционал, можно бесконечно применять разбивку отображения по user group. В данном примере сайт в большей степени контентный, и регистрация участников не предусматривается. В любом случае wordpress, да и в принципе любую open cms (php), для серьезных нагруженных проектов, в здравом уме, не стоит использовать. Поэтому смысл способа - это как "оптимизировать вордпресс за 20 минут" для большинства имеющих такие сайты. Без особых знаний в php, и конечно без кучи плагинов.
Цитата
sawf пишет:
Не совсем понял, цель данного диалога.
Ну как же...
Цитата
sawf пишет:
это опять же сделано для seo
Вы ошиблись, нарушив главное правило СЕО - показывать роботам одно, а юзверям - другое. Дело даже не в "убрать избыточное", а в не показывать важное.
Цитата
Eye пишет:
Цитата
sawf пишет:
Не совсем понял, цель данного диалога.
Ну как же...
Цитата
sawf пишет:
это опять же сделано для seo
Вы ошиблись, нарушив главное правило СЕО - показывать роботам одно, а юзверям - другое. Дело даже не в "убрать избыточное", а в не показывать важное.
Спасибо. Теперь буду знать, что есть главное правило СЕО:). А как же насчет, ошибок или несоответствия в отображении (даже если только для робота - фигурально это то же user, причем по факту первоначально главный) при закрытия от индекса всех исполнительных файлов (js, css и т.д.)? Если бы говорилось бы об ангуляре или реакте - это одно. Но это блин вордпресс - и главное ограничено желанием заказчика (и бюджетом конечно), который хочет работать только с этой cms. 
Цитата
sawf пишет:
при закрытия от индекса всех исполнительных файлов (js, css и т.д.)?
1. Это не исполняемые файлы, Вы путаете фронт с эндом.
2. Стили и скрипты не индексируются. И не индексировались никогда. И странно было бы, если бы было наоборот.
Стили и скрипты индексируются поисковиками уже давно, они должны видеть сайт также, как и пользователи!
Цитата
Федя пишет:
Стили и скрипты индексируются поисковиками уже давно, они должны видеть сайт также, как и пользователи!
покажите мне хотя бы один css в индексе, не полулживый Вы наш...
Цитата
Eye пишет:
покажите мне хотя бы один css в индексе, не полулживый Вы наш...
да любую выдачу открывайте, каждый сайт со стилями и скриптами )) запретите поисковикам доступ к скриптам и стилям, и будет ваш сайт далеко в ж., закрытие в роботсе не в счёт, эти стили и скрипты поисковики видят, лживый вы наш...
Кстати, "всезнающий" вы наш

Индексирование в поисковых системах (веб-индексирование) — процесс добавления сведений (о сайте) роботом поисковой машины в базу данных, впоследствии использующуюся для (полнотекстового) поиска информации на проиндексированных сайтах.

А не выдача, как вы тут хотите выкрутится и показать свою осведомлённость smile:sarc: Я вам жирным главное выделил, а то малоли, сейчас и тут шаред найдёте
Изменено: Федя - 19 Апреля 2021 18:10
Цитата
Федя пишет:
да любую выдачу открывайте, каждый сайт со стилями и скриптами ))
покажите любой запрос к индексу, который покажет css, без холивара Вашего, что "любую".
Цитата
Федя пишет:
запретите поисковикам доступ к скриптам и стилям, и будет ваш сайт далеко в ж
А как Вы себе представляете запрет доступа к скриптам? Прямо вот объясните нормально, а не бла-бла-бла.
Цитата
Eye пишет:
А как Вы себе представляете запрет доступа к скриптам? Прямо вот объясните нормально, а не бла-бла-бла.
так вы сами и ответили )) вся информация на сайте, доступная пользователям, индексируется поисковиками, для, цитирую – "добавления сведений (о сайте) роботом поисковой машины в базу данных"
Федя, да Вы уже уже осознали, что сморозили чушь... Зачем продолжать поддерживать эту чушь, когда все уже поржали над этим? Какой смысл упорствовать?
Страницы: 1 2 След.
Похожие темы:
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
11:50 Очень много 404 ошибок в вэбмастере!? 
03:48 3snet - гемблинг, беттинг, форекс, бинарные опционы, майнинг 
22:55 LOSPOLLOS.COM - Конвертим по рецепту Хайзенберга. Dating, Mainstream, Binary Options 
22:08 Webvork - международная товарная СРА сеть с сертифицированными офферами на Европу. 
21:18 SharkBoss - партнёрская программа для монетизации ЛЮБЫХ видов трафика (включая спам). 
19:05 Gambling Craft - гемблинг по белому 
21:45 Как сократить ссылку и зачем это делать. 
10:42 Obama.ru - безопасный обмен криптовалют и электронных денежных средств 
22:08 Coin Click.cc - Быстрый и надежный обмен электронных валют в два клика 
16:13 Transit-Bit.com - Обмен USDT на IDR, THB, RUB и наличные 
13:49 Продам базу данных предприятий Украины, России, Великобритании, Германии, Испании, Италии, Нидерландов, Польши, Франции, Швейцарии и др. 
11:20 Чек номеров на наличие Telegram/ Filter (checking) numbers Telegram 
11:05 Высококачественные и надежные прокси-серверы и 5G 
10:14 BestChange – обменивать электронную валюту можно быстро и выгодно 
18:35 Точные прогнозы на футбол 
20:22 Как получить рефералов и посетителей на сайт бесплатно. 
18:31 Видимо, похороны СУПРа уже прошли как-то по-тихому 
12:48 Каспкрски ОС 
11:21 Ням-ням! - 8 деликатесов, которые когда-то ели только бедные люди 
14:41 Бесплатный мини-аудит юзабилити и конверсии + технический SEO-аудит в подарок 
15:24 Добро пожаловать в цифровой мир...