SEO продвижение своими руками

  • Автор темы ALarik
  • Дата начала
yura_co

yura_co

master
Я как-0то писал, нужно пинговать карту сайта
пинговка карты так не помогает. я экспериментировал уже по разному, самый быстрый способ получается через внесение страницы через серчконсоль, появляется в результатах очень быстро
 
ТС
ALarik

ALarik

expert
Топик Стартер #134
надо так же в хедер на страницы добавлять Last-Modified, если были какие то правки.
 
yura_co

yura_co

master
@ALarik, И вот сразу вопрос: почему данный функционал не добавлен в сборку?
Почитав что это такое ,я считаю что это нужно всем
 
Последнее редактирование:
S

SlaSoft

Maestro
Потому как правильная реализация достаточно дорогая, стоимость владения может того не стоить

Это не просто проверить дату, но также проверить хешсумму готовой страницы, не считать/исключить из подсчтеа динамические данные


Вопрос - страница товара
На ней установлен модуль - последние товары
Добавился товар
Страница товара изменилась?
 
yura_co

yura_co

master
@SlaSoft, по сути страница не изменилась но на ней добавилась внутренняя ссылка, я бы рассматривал такую страницу как не изменившуюся
 
ТС
ALarik

ALarik

expert
Топик Стартер #139
Страница товара изменилась?
с точки зрения пользователя - да, с точки зрения гоши - нет, если конешн "последний товар" не есть частью контентного блока страницы товара.
я писал @Baco об этом, но пока ответ такой же, как и у @SlaSoft, тоесть либо модулем, либо корректно настраивать уже в рамках проекта.
 
S

SlaSoft

Maestro
@SlaSoft, по сути страница не изменилась но на ней добавилась внутренняя ссылка, я бы рассматривал такую страницу как не изменившуюся
Изменилась!!!
Пользователю похрен

там очень много нюансов с этим ..

И напоследок.. Как всегда у меня есть почти правильный мод
 
ТС
ALarik

ALarik

expert
Топик Стартер #141
у меня есть почти правильный мод
я вот так обычно кэширую заголовки:
PHP:
    private function cache_headers($file) {
        $last_mod = filemtime($this->request->server['SCRIPT_FILENAME']);
        $gmt_mtime = gmdate("D, d M Y H:i:s T", $last_mod);
        $this->response->addHeader('ETag: "'.md5($last_mod . $file) . '"');
        $this->response->addHeader('Last-Modified: ' . $gmt_mtime);
        $this->response->addHeader('Cache-Control: must-revalidate, proxy-revalidate, max-age=3600');
        if(isset($this->request->server['HTTP_IF_MODIFIED_SINCE']) || isset($this->request->server['HTTP_IF_NONE_MATCH'])) {
            if ($this->request->server['HTTP_IF_MODIFIED_SINCE'] == $gmt_mtime || str_replace('"', '', stripslashes($this->request->server['HTTP_IF_NONE_MATCH'])) == md5($last_mod . $file)) {
                $this->response->addHeader('HTTP/1.1 304 Not Modified');
                $this->response->addHeader("Vary: Accept-Encoding,User-Agent");
                exit();
            }
        }
    }
есть ли у Вас более правильное решение ?
 
yura_co

yura_co

master
я вот так обычно кэширую заголовки:
PHP:
    private function cache_headers($file) {
        $last_mod = filemtime($this->request->server['SCRIPT_FILENAME']);
        $gmt_mtime = gmdate("D, d M Y H:i:s T", $last_mod);
        $this->response->addHeader('ETag: "'.md5($last_mod . $file) . '"');
        $this->response->addHeader('Last-Modified: ' . $gmt_mtime);
        $this->response->addHeader('Cache-Control: must-revalidate, proxy-revalidate, max-age=3600');
        if(isset($this->request->server['HTTP_IF_MODIFIED_SINCE']) || isset($this->request->server['HTTP_IF_NONE_MATCH'])) {
            if ($this->request->server['HTTP_IF_MODIFIED_SINCE'] == $gmt_mtime || str_replace('"', '', stripslashes($this->request->server['HTTP_IF_NONE_MATCH'])) == md5($last_mod . $file)) {
                $this->response->addHeader('HTTP/1.1 304 Not Modified');
                $this->response->addHeader("Vary: Accept-Encoding,User-Agent");
                exit();
            }
        }
    }
есть ли у Вас более правильное решение ?
Правильно ли я понимаю, это нужно добавить в header.twig прямо в начало? или это для product.twig?
 
Последнее редактирование:
yura_co

yura_co

master
@ALarik,
Кроме того можно и нужно реализовать в сборке last-modified, опять же, интересно? покажу
вот чего я нашел, а тогда не обратил внимания.... нужно посидеть и перечитать все хотелки на создание сборки
 
Последнее редактирование:
S

SlaSoft

Maestro
Код:
            $IfModifiedSince = false;
            $env = $this->request->clean($_ENV);
            if (isset($env['HTTP_IF_MODIFIED_SINCE'])) {
                $IfModifiedSince = strtotime(substr($env['HTTP_IF_MODIFIED_SINCE'], 5)); 
            }
            if (isset($this->request->server['HTTP_IF_MODIFIED_SINCE'])) {
                $IfModifiedSince = strtotime(substr($this->request->server['HTTP_IF_MODIFIED_SINCE'], 5));
            }
Некоторые хосты пишут в env
 
yura_co

yura_co

master
Поюзав просторы нета нашел следующий код:
Код:
<?php
$timestamp = strtotime($date_modified);
$LastModified_unix = $timestamp; // время последнего изменения страницы
$LastModified = gmdate("D, d M Y H:i:s \G\M\T", $LastModified_unix);
$IfModifiedSince = false;
if (isset($_ENV['HTTP_IF_MODIFIED_SINCE']))
    $IfModifiedSince = strtotime(substr($_ENV['HTTP_IF_MODIFIED_SINCE'], 5));
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']))
    $IfModifiedSince = strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 5));
if ($IfModifiedSince && $IfModifiedSince >= $LastModified_unix) {
    header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');
    exit;
}
header('Last-Modified: '. $LastModified);
?>
 
S

SlaSoft

Maestro
Поюзав просторы нета нашел следующий код:
Код:
<?php
$timestamp = strtotime($date_modified);
$LastModified_unix = $timestamp; // время последнего изменения страницы
$LastModified = gmdate("D, d M Y H:i:s \G\M\T", $LastModified_unix);
$IfModifiedSince = false;
if (isset($_ENV['HTTP_IF_MODIFIED_SINCE']))
    $IfModifiedSince = strtotime(substr($_ENV['HTTP_IF_MODIFIED_SINCE'], 5));
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']))
    $IfModifiedSince = strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 5));
if ($IfModifiedSince && $IfModifiedSince >= $LastModified_unix) {
    header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');
    exit;
}
header('Last-Modified: '. $LastModified);
?>
Ну так это - как раз и есть в моем коде
 
S

SlaSoft

Maestro
Как вам такие ХК?
photo_2020-06-05_10-49-09-jpg.168 - opencart


На оригинальном сайте уже сняли

И вот что мне подумалось

Главная - Категория - Товар - Описание - Характерисики - Отзывы

Но если есть еще и какой-то уникальный атрибут

Главная - Категория - Товар - 16Гб - Описание - Характерисики - Отзывы
 
Последнее редактирование:
ТС
ALarik

ALarik

expert
Топик Стартер #150
ото под:censored:ал, согласен, накидан в теории, на практике не проверен, хотел на файлы кэша проверять и их выводить как значения, например нитрокэша и прочих, think about it, bro, но ре реализованным и оставшимся в архивах форума
 
Последнее редактирование:
Baco

Baco

architect
ну там оригинальный подход, логистику впихнули грамотно, мне как оптовому покупателю сразу понятно из самого объявления, что по чем, зачетный пример, спасибо!
такое не сложно реализовать, кастомные хк
 
S

SlaSoft

Maestro
Реализовать да - просто
Вот толко вопрос, будут ли санкции от ПС

Но как по мне, вот приме который я привел
Главная - Категория - Товар - 16Гб - Описание - Характерисики - Отзывы
более приближен

А еще..

Зацените

Главная - Категория - Товар - Бесплатная доставка(ссылка) - Оплата любым способом(ссылка)

Бесплатная доставка(ссылка) - Оплата любым способом(ссылка) - можно залепить попапами
 
ТС
ALarik

ALarik

expert
Топик Стартер #156
пример хорош, я кстати недавно свинтил у одних сеошников хорошую практику:
в каждом разделе, главную крошку называть по типу "Магазин {category_name} " и уже по иерархии, тоесть получается так:
Что бы посмотреть: Войди или Зарегистрируйся.а если зайти в соседний раздел, например в шкафы, то получиться примерно так:
Что бы посмотреть: Войди или Зарегистрируйся.
добавление же unicode в крошки - не совсем хороший тон, зато в тайтл или дескрипшн - пожалуйста (сам люблю так делать)
 
Последнее редактирование модератором:
yura_co

yura_co

master
Как раз речь не об эмоджи
А об разметкк ХК - проспамить ключевиками
ах. не туда смотрю, я сразу заметил эмоджи в ХК, они делпют более заметными ссылку. А вот относительно санкций, думаю всё будет нормально
Я читал ответ Джона Мюллера относительно использования эмоджи в ХК и ответ гласит:
You can do a lot of things -- but it doesn't mean that people will go to your site more, or that they'll convert better. Personally, I find this kind of snippet comes across quite unprofessional, but maybe users in your country disagree. Test results beat Twitter opinions :)
И судя из того что я не видел запрета на использование ключей в ХК (тем более что некоторые сайт используют этот прием уже некоторое время и санкций пока не замечено), ответ будет приблизительно таким же. Главное делать всё с умом.
 
Твой e-mail адрес не будет опубликован. Он нужен для подтверждения сообщения !
Вверх