Только у себя поменял время на мое местное и добавил еще реферер и браузер
И в строке
помимо добавлений реферера и браузера поменял IP: ([\d.]+) на IP: (.+) чтобы видеть еще и адреса IPv6
Круто мужики! 🔥 Объединил и добавил вывод второй таблицы в панельке "лог посещений", которая считает и показывает количество визитов на уникальный ip:
// Отслеживание // Создаем функцию для записи данных посетителей function log_visitor_info() { $log_file = ABSPATH . 'visitor_log.txt'; // Путь к файлу лога
$current_date_time = date('Y-m-d H:i:s'); // Текущая дата и время $visitor_ip = $_SERVER['REMOTE_ADDR']; // IP-адрес посетителя $current_page = $_SERVER['REQUEST_URI']; // Текущая посещенная страница
// Запись в лог $log_entry = "$current_date_time - IP: $visitor_ip, Page: $current_page\n";
// Открываем файл в режиме добавления $file_handle = fopen($log_file, 'a');
if ($file_handle) { fwrite($file_handle, $log_entry); fclose($file_handle); } } // Добавляем хук, чтобы записывать данные при каждом запросе add_action('wp', 'log_visitor_info');
// Функция для подсчета уникальных IP и их повторений function count_unique_ips($log_entries) { $ip_counts = [];
foreach ($log_entries as $entry) { if (!empty($entry)) { preg_match('/(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) - IP: (.+), Page: (.+)/', $entry, $matches); if (count($matches) === 4) { $ip = $matches[2]; if (isset($ip_counts[$ip])) { $ip_counts[$ip]++; } else { $ip_counts[$ip] = 1; } } } }
return $ip_counts; }
// Функция для вывода таблицы лога на странице function render_visitor_log_page() { // Получаем данные из файла лога $log_file = ABSPATH . 'visitor_log.txt'; $log_content = file_get_contents($log_file);
// Разбиваем записи по строкам $log_entries = explode("\n", $log_content);
Может быть, кому-то принесет пользу мой подход к реализации на Wordpress: 🙏
1. Написал сниппет:
// Создаем функцию для записи данных посетителей function log_visitor_info() { $log_file = ABSPATH . 'visitor_log.txt'; // Путь к файлу лога
$current_date_time = date('Y-m-d H:i:s'); // Текущая дата и время $visitor_ip = $_SERVER['REMOTE_ADDR']; // IP-адрес посетителя $current_page = $_SERVER['REQUEST_URI']; // Текущая посещенная страница
// Запись в лог $log_entry = "$current_date_time - IP: $visitor_ip, Page: $current_page\n";
// Открываем файл в режиме добавления $file_handle = fopen($log_file, 'a');
if ($file_handle) { fwrite($file_handle, $log_entry); fclose($file_handle); } }
// Добавляем хук, чтобы записывать данные при каждом запросе add_action('wp', 'log_visitor_info');
2. Отслеживание Далее,если в метрике вижу много прямых заходов, то отслеживаю и сопоставляю с логами "visitor_log.txt", создаваемый сниппетом, в корне сайта
3. Блокирую
В файле .htaccess, в корне сайта, добавляю строки с подозрительными ip
Ростислав Шацкий#: Сейчас просмотрю его топики по профилю, однако могу предположить, что его инфо-поле выходит за рамки данного форума и искать нужно где-то еще данную инфу. Есть прямая ссылка, где он описывает метод? или это информация из уст в уста?
Пардон за невнимательность, divv описывал метод в этом топике 😂 Вопрос снят!
Сейчас просмотрю его топики по профилю, однако могу предположить, что его инфо-поле выходит за рамки данного форума и искать нужно где-то еще данную инфу. Есть прямая ссылка, где он описывает метод? или это информация из уст в уста?
Попалась информация в видео (https://www.youtube.com/watch?v=fwVYN5dKdpA) по поводу мультирегиональников, хотя это и не касается вопроса оптимизации и автоматизации развертывания, однако расширило кругозор и натолкнуло на понимание, что моя модель/структура МР не корректна для поставленных задач.
SeVlad#: Если ты внятно опишешь что за сайт, какие задачи возложены на мультирегиональность и тд - возможно сможем подсказать более оптимальное решение.
SeVlad#: А я думал ошибки всё же покажешь.. Но нет так нет.
Доброго Всем дня) Ошибка была связана с выделенной памятью, забыл конкретно на этом сайте прописать. 😂 Добавил строки в wp-config и php.ini ->> теперь все гуд!
Да, это один сайт, один набор городов, рубрик, меток и т.д.
Подмена города для шаблонных страниц (одинаковых для всех городов) через шорткоды или свои расставленные макросы.
Нужно только на всех страницах сверять на наличие города в базе, т.е. из адреса site.ru/msk/ или site.ru/msk /page, получать из урл msk, сверять его с базой и если есть, то менять контент на странице под этот город. по сути это одна функция, которую можно везде использовать , в том числе для создания шоркодов.
Реализация в целом зависит от самого сайта. Либо это как доска объявлений, где каждое объявление привязано только к одному городу и должно отображаться только в этом городе. Либо это как интернет-магазин, где обычно товары во всех городах одинаковые и меняется только сео и контакты.
Огромное спасибо!👍 Кругозор расширен, однозначно. Буду воплощать, тк упростит жизнь 100%))
Если на разделах, то в wp-config.php нужно принудительно менять адрес сайта
define( 'WP_HOME', 'http://site.ru/msk');
Но до этой строчки, на сколько я помню, там был массив всех городов, функция получения адреса текущей страницы и города из урл, сравнение его с массивом.
Список городов добавлялся в произвольном типе записей.
Если нужна фильтрация для записей для каждого города своя, то при публикации нужно выбирать еще и город.
Там еще какие-то заморочки были по типу страниц контактов для разных городов. Но это проще чем мультисайт.
Скажите, я правильно понимаю, что речь идет об одном сайте, в архитектурное древо которого закладываются города как тип записи? Далее документ(ы) могут открываться через город и иметь свою оптимизацию под поиск? А если в контенте(тексте) документа требуется подмена города? Как то завязывать на тип записи..?
Я чуть подправил, чтоб в адмике смотреть можно было
Спасибо за идею. Сделал. Удобно и полезно.
Только у себя поменял время на мое местное и добавил еще реферер и браузер
И в строке
помимо добавлений реферера и браузера поменял IP: ([\d.]+) на IP: (.+) чтобы видеть еще и адреса IPv6
Круто мужики! 🔥 Объединил и добавил вывод второй таблицы в панельке "лог посещений", которая считает и показывает количество визитов на уникальный ip:
Проще стало вычислять 😁
1. Написал сниппет:
Далее,если в метрике вижу много прямых заходов, то отслеживаю и сопоставляю с логами "visitor_log.txt", создаваемый сниппетом, в корне сайта
3. Блокирую
В файле .htaccess, в корне сайта, добавляю строки с подозрительными ip
Сейчас просмотрю его топики по профилю, однако могу предположить, что его инфо-поле выходит за рамки данного форума и искать нужно где-то еще данную инфу. Есть прямая ссылка, где он описывает метод? или это информация из уст в уста?
Пардон за невнимательность, divv описывал метод в этом топике 😂 Вопрос снят!
Вот видишь как полезно читать логи :)
Поддерживаю и благодарю! Прибрел новый навык - читать логи😅
Рассказанный divv-ом способ
Сейчас просмотрю его топики по профилю, однако могу предположить, что его инфо-поле выходит за рамки данного форума и искать нужно где-то еще данную инфу. Есть прямая ссылка, где он описывает метод? или это информация из уст в уста?
Попалась информация в видео (https://www.youtube.com/watch?v=fwVYN5dKdpA) по поводу мультирегиональников, хотя это и не касается вопроса оптимизации и автоматизации развертывания, однако расширило кругозор и натолкнуло на понимание, что моя модель/структура МР не корректна для поставленных задач.
Если ты внятно опишешь что за сайт, какие задачи возложены на мультирегиональность и тд - возможно сможем подсказать более оптимальное решение.
Отправлю в личку ссылку и описание.
а все таки для статейника, что лучше? Если ручной перевод всех статей?
Поддерживаю слова SeVlad - WPML заслуживает внимания. Не однократно это решение упомянают те, кто с мультиязычных сеток нормально извлекают прибыль.
А я думал ошибки всё же покажешь.. Но нет так нет.
Доброго Всем дня)
Ошибка была связана с выделенной памятью, забыл конкретно на этом сайте прописать. 😂 Добавил строки в wp-config и php.ini ->> теперь все гуд!
Да, это один сайт, один набор городов, рубрик, меток и т.д.
Подмена города для шаблонных страниц (одинаковых для всех городов) через шорткоды или свои расставленные макросы.
Нужно только на всех страницах сверять на наличие города в базе, т.е. из адреса site.ru/msk/ или site.ru/msk /page, получать из урл msk, сверять его с базой и если есть, то менять контент на странице под этот город. по сути это одна функция, которую можно везде использовать , в том числе для создания шоркодов.
Реализация в целом зависит от самого сайта. Либо это как доска объявлений, где каждое объявление привязано только к одному городу и должно отображаться только в этом городе. Либо это как интернет-магазин, где обычно товары во всех городах одинаковые и меняется только сео и контакты.
Огромное спасибо!👍 Кругозор расширен, однозначно. Буду воплощать, тк упростит жизнь 100%))
Давно уже делал на поддоменах и на разделах.
Если на разделах, то в wp-config.php нужно принудительно менять адрес сайта
define( 'WP_HOME', 'http://site.ru/msk');
Но до этой строчки, на сколько я помню, там был массив всех городов, функция получения адреса текущей страницы и города из урл, сравнение его с массивом.
Список городов добавлялся в произвольном типе записей.
Если нужна фильтрация для записей для каждого города своя, то при публикации нужно выбирать еще и город.
Там еще какие-то заморочки были по типу страниц контактов для разных городов. Но это проще чем мультисайт.
Скажите, я правильно понимаю, что речь идет об одном сайте, в архитектурное древо которого закладываются города как тип записи? Далее документ(ы) могут открываться через город и иметь свою оптимизацию под поиск? А если в контенте(тексте) документа требуется подмена города? Как то завязывать на тип записи..?