Поиск по статьям
Все про умный дом
Все о пожарной безопасности
Сейчас читают
- Как смотреть youtube без тормозов и замедленияЕсли Вы на этой странице, то Вам, скорее всего, […]
- 10 лучших прогрессивных языков программирования для разработки мобильных приложенийЗнаете ли вы, что мобильные приложения — это не только […]
- 6 важных особенностей, которые следует учитывать при строительстве нового домаСтроительство нового дома – это уникальная возможность […]
Гороскоп на Сегодня
Создание плагина WordPress для анализа и добавления ключевых слов
Понимание задачи
Цель плагина — автоматически анализировать контент страниц и записей WordPress, выявлять наиболее часто встречающиеся слова и добавлять их в начало страницы или записи с соответствующей пометкой.
Структура плагина
Плагин для WordPress состоит из нескольких файлов:
- main.php — главный файл плагина, содержащий метаданные и функции.
- functions.php — файл с основными функциями плагина.
Код плагина
main.php
<?php
/*
Plugin Name: Ключевые слова в начале страницы
Description: Анализирует контент и добавляет самые частые слова в начало страницы
Version: 1.0
Author: Ваше имя
Author URI: Ваш сайт
*/
// Активация плагина
register_activation_hook( __FILE__, 'my_plugin_activate' );
// Деактивация плагина
register_deactivation_hook( __FILE__, 'my_plugin_deactivate' );
// Загрузка функций плагина
require_once( plugin_dir_path( __FILE__ ) . 'functions.php' );
// Функции активации и деактивации (по желанию)
function my_plugin_activate() {
// Код, выполняемый при активации плагина
}
function my_plugin_deactivate() {
// Код, выполняемый при деактивации плагина
}
functions.php
<?php
// Функция для анализа текста и получения самых частых слов
function get_most_frequent_words($content) {
$words = str_word_count(strip_tags($content), 1);
$counts = array_count_values($words);
arsort($counts);
return array_slice(array_keys($counts), 0, 5); // Вернем 5 самых частых слов
}
// Фильтр для добавления ключевых слов в начало контента
function add_keywords_to_content($content) {
if (is_singular()) { // Проверяем, что это страница или запись
$keywords = get_most_frequent_words($content);
$keywords_string = implode(', ', $keywords);
return '<p><strong>На странице наиболее часто встречается:</strong> ' . $keywords_string . '</p>' . $content;
}
return $content;
}
add_filter('the_content', 'add_keywords_to_content');
Объяснение кода
- Анализ текста: Функция
get_most_frequent_words
принимает текст в качестве аргумента, удаляет теги HTML, разбивает текст на слова и подсчитывает частоту каждого слова. - Добавление ключевых слов: Фильтр
add_keywords_to_content
проверяет, является ли текущая страница или запись одиночной (не архив, категория и т.д.). Если это так, то он получает самые частые слова из контента и добавляет их в начало страницы.
Установка плагина
- Создайте папку с названием плагина в директории
wp-content/plugins
вашего WordPress сайта. - Поместите файлы
main.php
иfunctions.php
в эту папку. - Активируйте плагин в админке WordPress.
Дополнительные возможности
- Настройка количества слов: Можно добавить параметр в функцию
get_most_frequent_words
для настройки количества возвращаемых слов. - Исключение стоп-слов: Создать массив стоп-слов (например, «и», «в», «на») и исключить их из анализа.
- Отображение ключевых слов в мета-тегах: Добавить ключевые слова в мета-тег
keywords
для улучшения SEO. - Использование внешних библиотек: Для более сложного анализа текста можно использовать внешние библиотеки, такие как NLTK.
Важно: Этот плагин предоставляет базовую функциональность. Для более продвинутого анализа текста и SEO рекомендуется использовать специализированные плагины или сервисы.
Предупреждение
- Переоптимизация: Чрезмерное использование ключевых слов может привести к наложению санкций со стороны поисковых систем.
- Ложная позитивность: Некоторые слова могут встречаться часто, но не быть релевантными для страницы.
- Изменения в алгоритмах поисковых систем: Алгоритмы поиска постоянно меняются, поэтому эффективность этого метода может со временем снизиться.
Перед использованием плагина на реальном сайте рекомендуется тщательно протестировать его на тестовом сайте.
Этот код является отправной точкой для создания более сложного и функционального плагина.
День второй.
Чат с Gemini
Проанализируй код плагина для ВордПресс.
Что нужно добавить и в какой из представленных двух файлов, чтобы плагин анализировал не исходный код страницы, а сам текст статьи, записи, который виден читающему эту статью, запись с фронтенда, без предлогов, местоимений, тире, точек, знаков.
Нужный результат, это только слова на русском, английском, испанском языках.
Плагин должен работать без подключения внешних библиотек и поддерживаться любой темой сайта на ВордПресс .
Анализ кода и предложения по улучшению
Понимание задачи:
Вам необходимо модифицировать плагин так, чтобы он:
- Анализировал видимый текст: То есть текст, который отображается на передней части сайта, а не исходный код.
- Очищал текст: Удалял из текста все лишние символы, такие как знаки препинания, предлоги, местоимения и т.д.
- Определял язык: Оставлял только слова на русском, английском и испанском языках.
- Не использовал внешние библиотеки: Все функции должны быть реализованы внутри плагина.
- Был совместим с любыми темами: Не должен конфликтовать с другими плагинами или темами.
Предлагаемые изменения:
1. Очистка текста
Нужно улучшить функцию get_most_frequent_words
. Для более тщательной очистки текста можно использовать регулярные выражения. Например:
function get_most_frequent_words($content) {
// Удаляем HTML-теги и специальные символы
$content = strip_tags($content);
// Оставляем только буквы и цифры
$content = preg_replace('/[^a-zA-ZА-Яа-я0-9]+/', ' ', $content);
// Приводим к нижнему регистру
$content = strtolower($content);
// Разделяем на слова
$words = explode(' ', $content);
// Фильтруем слова по языку (предполагается, что у вас есть список стоп-слов)
$stop_words = array_merge(
require 'stop_words_ru.php',
require 'stop_words_en.php',
require 'stop_words_es.php'
);
$words = array_diff($words, $stop_words);
// Считаем частоту слов
$counts = array_count_values($words);
arsort($counts);
return array_slice(array_keys($counts), 0, 5);
}
После тестирования:
1) фильтр стоп слов не работает
2) Работает версия ниже только для английского языка
<?php
// Функция для анализа текста и получения самых частых слов
function get_most_frequent_words($content) {
// Удаляем HTML-теги и специальные символы
$content = strip_tags($content);
// Оставляем только буквы и цифры
$content = preg_replace(‘/[^a-zA-ZА-Яа-я0-9]+/’, ‘ ‘, $content);
// Приводим к нижнему регистру
$content = strtolower($content);
// Разделяем на слова
$words = explode(‘ ‘, $content);
$words = str_word_count(strip_tags($content), 1);
$counts = array_count_values($words);
arsort($counts);
return array_slice(array_keys($counts), 0, 10); // Вернем 10 самых частых слов
// Фильтруем слова по языку (предполагается, что у вас есть список стоп-слов)
$stop_words = array_merge(
require ‘stop_words_ru.php’,
require ‘stop_words_en.php’,
require ‘stop_words_es.php’
);
$words = array_diff($words, $stop_words);
}
// Фильтр для добавления ключевых слов в начало контента
function add_keywords_to_content($content) {
if (is_singular()) { // Проверяем, что это страница или запись
$keywords = get_most_frequent_words($content);
$keywords_string = implode(‘, ‘, $keywords);
return ‘<p><strong>На странице наиболее часто встречается:</strong> ‘ . $keywords_string . ‘</p>’ . $content;
}
return $content;
}
add_filter(‘the_content’, ‘add_keywords_to_content’);
Добавить комментарий