Проблема старых страниц

Остались старые страницы после удаления. на которые была разбита статья

#1 1 января 2014 в 01:23
Здравствуйте, уважаемое сообщество!
Поздравляю всех с Новым годом и желаю крепкого здоровья, а также творческих успехов!
Может быть кто-то сталкивался с проблемой такой?

Статью, как известно, можно разбить на страницы и тогда получается, что-то вроде: /v-mire-sveta-brinkly/page-5.html То есть, вот это page-5.html и делает переход по страницам. Такой метод очень, как оказалось, грузит страницу. Получается, что трудно зайти и почитать текст, если страниц в книге, скажем, около 100.

Отсюда, было принято решение отказаться от такого метода разбивки книги и вернуть все как было — анонс и скачать. Но появилась проблема! Я думал, что адрес типа /v-mire-sveta-brinkly/page-5.html будет теперь вести на 404 ошибку, но не тут то было, теперь это все ведет на одну страницу и там живет… создавая кучу дублей страниц.

Может быть есть способ сообщить как-то, что такие вещи не являются страницами, которые хорошие, что этого на самом деле нету?

Для примера вот можно глянуть о чем речь tanat.info/v-mire-sveta-brinkly/page-5.html Если менять пункт page-5.html на, например page-6.html, то мы перейдем на туже страницу.

Ох, я наверное тут туманно все объяснил, но это действительно проблема страшная… потому, что поисковики думают, что там есть контент, а его там нет… Получается, что я обманываю поисковики, а они потом за это банят людей разных… :(
#2 1 января 2014 в 01:36
301 редирект с бывших страниц на реальную теперь.
#3 1 января 2014 в 01:52
Я тогда не пойму смысла такого действия, если она и так и так ведет на страницу. Ведь сама страница не пропадет как таковая. То есть, я поставлю 301 с /v-mire-sveta-brinkly/page-5.html на /v-mire-sveta-brinkly.html Но ведь я в любом случае попадаю фактически на /v-mire-sveta-brinkly.html

Как поисковики увидят, что теперь нет /v-mire-sveta-brinkly/page-5.html? Вот если бы был способ, чтобы страницы вида page-5.html отправлялись на 404, то все решилось бы само собой.
#4 1 января 2014 в 01:56
не думаю что удастся сделать 404 в таком варианте(могу ошибаться), но 301 точно скажет ПС что страница перемещена на всегда и находится тут.
#5 1 января 2014 в 01:58
Спасибо, буду пробовать это реализовать, или проще убить страницу начальную, тогда все станут 404… Странно, что возникает такая проблема, ведь не должно такого быть по идее.
#6 1 января 2014 в 02:01
Еще можно попробовать настроить rel="canonical"
Но что бы уже попавшие дубли не с играли с вами злую шутку, надо все же 301 настроить.
#7 1 января 2014 в 02:12
Вот и чего в новогоднюю ночь не отдыхается smile
Тут дело не только в старых адресах со страницами. Такие же ссылки могут иногда появиться невесть откуда. И поэтому лучше, если движок будет отдавать нужный ответ. Откройте файл frontend.php и найдите код, начиная примерно со строки 216:
  1. if(!empty($GLOBALS['pt'])){
  2. foreach($GLOBALS['pt'] as $num=>$page_title){
  3. $pt_pages[$num]['title'] = $page_title;
  4. $pt_pages[$num]['url'] = $model->getArticleURL(null, $article['seolink'], $num+1);
  5. }
  6. }
и замените его на:
  1. if(!empty($GLOBALS['pt'])){
  2. foreach($GLOBALS['pt'] as $num=>$page_title){
  3. $pt_pages[$num]['title'] = $page_title;
  4. $pt_pages[$num]['url'] = $model->getArticleURL(null, $article['seolink'], $num+1);
  5. }
  6. }elseif ($page > 1) {
  7. //ниже расскомментируйте нужное
  8. //cmsCore::error404(); //404 код ошибки
  9. //$inPage->addHead('<link rel="canonical" href="/'.$article['seolink'].'.html">'); //каноникал на статью
  10. }
Заметье, просто добавлен блок elseif(){}. Блок if(){} не изменен. Привел просто для наглядности. Вроде работает :=) С Новым годом, с Новым кодом!!! ))))
#8 1 января 2014 в 02:22
С Новым Годом Вас, уважаемый Марат! Да, вот видите, так у нас проходят праздники за столом праздничным. Спасибо огромное всем, буду пробовать, очень надеюсь, что это еще кому-то пригодится и я не напрасно вытащил Вас из-за стола.
#9 1 января 2014 в 02:28
К сожалению, такого нет блока в companent/content/frontend.php
Там есть только
  1. // Разбивка статей на страницы
  2. foreach($GLOBALS['pt'] as $num=>$page_title){
  3. $pt_pages[$num]['title'] = $page_title;
  4. $pt_pages[$num]['url'] = $model->getArticleURL(null, $article['seolink'], $num+1);
  5. }
#10 1 января 2014 в 02:29


К сожалению, такого нет блока в companent/content/frontend.php
Там есть только

  1. // Разбивка статей на страницы
  2. foreach($GLOBALS['pt'] as $num=>$page_title){
  3. $pt_pages[$num]['title'] = $page_title;
  4. $pt_pages[$num]['url'] = $model->getArticleURL(null, $article['seolink'], $num+1);
  5. }

Thanatognozija

Но я вставил как Вы написали и раскомментировал cmsCore::error404(); — все вроде работает и отправляет на 404
Еще раз большое спасибо.
#11 1 января 2014 в 02:31
Практически вывод одной единицы контента( с разбивками на сегменты выполнен правильно).
Вы согласны что данные разбиваемые фильтром — это одна запись полного контента в базе данных.
Согласны!?
Давайте анализировать.
  1.  
  2. // Выполняем фильтры
  3. $article['content'] = cmsCore::processFilters($article['content']);
  4.  
  5. // Разбивка статей на страницы
  6. $pt_pages = array();
  7. if(!empty($GLOBALS['pt'])){
  8. foreach($GLOBALS['pt'] as $num=>$page_title){
  9. $pt_pages[$num]['title'] = $page_title;
  10. $pt_pages[$num]['url'] = $model->getArticleURL(null, $article['seolink'], $num+1);
  11. }
  12. }
Функции модели.
  1. /**
  2.   * Возвращает урл статьи
  3.   * параметр $menuid устаревший, оставлен для совместимости
  4.   * @return str
  5.   */
  6. public static function getArticleURL($menuid, $seolink, $page=1){
  7.  
  8. if((is_numeric($page) && $page>1) || is_string($page)){
  9. $page_section = '/page-'.$page;
  10. } else {
  11. $page_section = '';
  12. }
  13.  
  14. $url = '/'.$seolink.$page_section.'.html';
  15.  
  16. return $url;
  17.  
  18. }
В итоге, одна запись, разбитая пагинатогом на фрагменты.По факту системы.
Что ВЫ предлагаете?
1-разбить одну страницу на фрагменты и перелинковать на главной теме?
2-вы желаете с одной страницы, переходить по ссылка на другие?
Принцип перелинковки страниц никто не отменял.
#12 1 января 2014 в 02:35
Если честно, то я не понимаю принципа разбивки, хотя догадался, что это получается один контент по тому, как долго потом все загружается. То есть, книгу таким способом создать не реально. Поэтому я сейчас и хочу, чтобы пагинация, которая была ранее, уничтожилась и превратилась в 404, чтобы выпала из индекса и не плодились дубли. То есть, я не желаю больше переходить и делать пагинацию в этой странице.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.