Какие способы существуют для ускорения загрузки панели администратора WordPress?

Когда я захожу в /wp-admin, замечаю долгую загрузку, и в процессе выполнения MySQL появляется следующий запрос: <br/> <br/> <blockquote><br/>
SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts LEFT JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = '_headstart_post' ) LEFT JOIN wp_postmeta AS mt1 ON ( wp_posts.ID = mt1.post_id ) WHERE 1=1 AND ( wp_postmeta.post_id IS NULL OR mt1.meta_key = '_edit_last' ) AND wp_posts.post_type = 'product' AND ((wp_posts.post_status = 'publish')) GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 0, 10<br/>
</blockquote> <br/> <br/> В последний раз я изменял файл, отвечающий за связанные товары в WooCommerce, чтобы избежать повторяющихся товаров в одной сессии. <br/> <br/> <pre><code class="php">&lt;?php

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

global $product, $post;
?&gt;
&lt;?php $related = wc_get_related_products($product-&gt;get_id(), 6);?&gt; 
&lt;?php if( sizeof( $related ) == 0 ):?&gt;
&lt;?php else:?&gt;
    &lt;div class="border-lightgrey clearbox flowhidden mb25 rh-shadow1 rh-tabletext-block rh-tabletext-wooblock whitebg width-100p related-woo-area" id="section-woo-related"&gt;
        &lt;div class="rh-tabletext-block-heading fontbold border-grey-bottom"&gt;
            &lt;span class="cursorpointer floatright lineheight15 ml10 toggle-this-table rtlmr10"&gt;&lt;/span&gt;
            &lt;h4 class="rh-heading-icon"&gt;&lt;?php esc_html_e( 'Related Products', 'rehub-theme' );?&gt;&lt;/h4&gt;
        &lt;/div&gt;
        &lt;div class="rh-tabletext-block-wrapper padd20"&gt; 
            &lt;?php $classcol = ($sidebar) ? 'col_wrap_two' : 'col_wrap_three';?&gt;        
            &lt;div class="&lt;?p
  • 8 сентября 2024 г. 12:03
Ответы на вопрос 2
Ускорение загрузки панели администратора WordPress может быть достигнуто с помощью различных методов. Давайте рассмотрим несколько способов, которые могут помочь вам оптимизировать время загрузки:

### 1. **Оптимизация запросов к базе данных**
- **Индексирование таблиц**: Проверьте, что таблицы базы данных, особенно `wp_posts` и `wp_postmeta`, индексированы по наиболее часто используемым полям. Это может значительно ускорить выполнение запросов.
- **Ограничение количества данных**: Избегайте получения слишком большого количества данных при выборке. Например, используйте подходящие параметры ограничения (`LIMIT`) и фильтры.

### 2. **Оптимизация кода**
- **Проверка изменений**: Убедитесь, что измененный вами код наводит на правильные мысли и не создает дополнительных запросов к базе данных. Например, использование `wc_get_related_products` может быть оптимизировано.
- **Использование кэширования**: Если ваш код часто выполняет одни и те же запросы, внедрите кэширование для хранения результатов и уменьшения нагрузки на базу данных.

### 3. **Использование плагинов для оптимизации**
- **Кэширование**: Установите и настройте плагины кэширования, такие как W3 Total Cache или WP Super Cache, чтобы ускорить выдачу страниц. Кэширование может помочь уменьшить нагрузку на сервер и базу данных.
- **Оптимизация базы данных**: Используйте плагины, такие как WP-Optimize или WP-Sweep, для очистки и оптимизации базы данных.

### 4. **Обновление плагинов и тем**
- Убедитесь, что все плагины и темы обновлены до последней версии. Иногда устаревшие плагины могут влиять на производительность из-за ошибок или неэффективного кода.

### 5. **Оптимизация сервера**
- **Повысьте производительность хостинга**: Если вы используете общий хостинг, возможно, стоит перейти на более мощный тарифный план или VPS, который может предложить лучшую производительность.
- **Используйте CDN**: Внедрение сети доставки контента (CDN) может уменьшить задержки и ускорить загрузку для пользователей.

### 6. **Удаление ненужных плагинов и тем**
- Удалите ненужные или неиспользуемые плагины и темы, так как они могут значительно замедлять работу панели администратора.

### 7. **Оптимизация изображений и медиа**
- Убедитесь, что все изображения оптимизированы для веба, что может помочь уменьшить время загрузки страниц.

### 8. **Лимитирование количества записей на странице**
- Удалите или уменьшите количество отображаемых элементов на панели администратора (например, количество показываемых товаров в WooCommerce).

### 9. **Дебаг и анализ производительности**
- Используйте инструменты анализа производительности, например Query Monitor, чтобы отследить медленные запросы и выявить узкие места. Это позволит вам более точечно оптимизировать проблемные участки.

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

function remove_woocommerce_admin_menu() {
    remove_menu_page('edit.php?post_type=product');
}
add_action('admin_menu', 'remove_woocommerce_admin_menu');
Похожие вопросы