Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Динамические Title, Descriptions, Keywords

Сообщения:  [1-10]    [11-20]  [21-23] 

 
 автор: cheops   (09.03.2007 в 15:54)   письмо автору
 
   для: ZuArt   (09.03.2007 в 12:52)
 

Да, информация к счастью просачивается, но нельзя быть точно уверенным, что робот Rambler, Google, Aport или любой другой поисковой системы поступает точно также.

   
 
 автор: ZuArt   (09.03.2007 в 12:52)   письмо автору
 
   для: cheops   (09.03.2007 в 12:30)
 

не совсем предположительна =) - частично, т.к. некоторые поисковики ОФИЦИАЛЬНО выкладывают информацию по работе своих пауков (естессно не всю ;) )... в частности Яндекс четко говорит, что берет не всю страницу, а только ее часть определенного объема =)

   
 
 автор: cheops   (09.03.2007 в 12:30)   письмо автору
 
   для: ZuArt   (09.03.2007 в 10:03)
 

Добавлю, что информация эта предположительная, как на самом деле работает робот той или иной поисковой системы доподлино, как правило, не известно. Один поисковый робот может брать любой заголовок, друго вообще его игнорировать. Третий назначать коэффициент в зависимости от того, считает он заголовок подлиным или нет.

   
 
 автор: ZuArt   (09.03.2007 в 10:03)   письмо автору
 
   для: fis   (06.03.2007 в 15:51)
 

ВОЗРАЖУ, причем ЖЕСТКО =)
1) Поисковик не "ищет" титл, а просматривает код полученной страницы и если НАХОДИТ, то принимает его
2) Все поисковики берут только ОГРАНИЧЕННЫЙ кусок страницы - килов так 100-200 - не больше точно... и если титл или служебные теги разместить дальше границы - то поисковик их НИКОГДА не увидит...
3) Браузеры также могут некорректно отбработать код страницы, если он некорректно написан... в частности как-то встретил пример, в котором был код такого типа: <html><body><title></title></body></html><body></body> - смешно, но в браузерах работал, правда в каком-то из них все стили поотлетали к едрене фене - но ведь "работало" =)))))

   
 
 автор: soloway   (08.03.2007 в 23:19)   письмо автору
 
   для: fis   (06.03.2007 в 15:51)
 

[deleted]
Сорри, это было ошибочное сообщение.

   
 
 автор: fis   (06.03.2007 в 15:51)   письмо автору
 
   для: soloway   (05.03.2007 в 21:03)
 

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

   
 
 автор: soloway   (06.03.2007 в 15:38)   письмо автору
 
   для: ZuArt   (06.03.2007 в 14:57)
 

Спасибо, как уже сказал, буду обкатывать. :)

А насчёт нежелательности использования else if:
"Однако, вообще говоря, использование оператора elseif довольно сильно ухудшает читабельность кода" - http://www.softtime.ru/bookphp/gl2_1.php
Ну тут может и я не совсем верно трактовал "нежелательность"... Так что пока ладно.

Ещё раз тебе спасибо за помощь!

   
 
 автор: ZuArt   (06.03.2007 в 14:57)   письмо автору
 
   для: ZuArt   (06.03.2007 в 14:55)
 

ЗЫ. Очепятался - $out = 0; естессно заключить в <? $out = 0; ?>

   
 
 автор: ZuArt   (06.03.2007 в 14:55)   письмо автору
 
   для: soloway   (06.03.2007 в 14:16)
 

впервые слышу, что else if (кстать, раздельно пишется) вызывало какие-то баги...

если же его не юзать, то что-то типа этого получится (на мой взгляд бредятина полная)


<?
if($_SERVER['REQUEST_URI']=="/page1.htm") echo "<title>Стр 1. "
else{
 if(
$_SERVER['REQUEST_URI']=="/page2.htm") echo "<title>Стр 2. "
 
else {
  if(
$_SERVER['REQUEST_URI']=="/page3.htm") echo "<title>Стр 3. "
  
else {
  if(
$_SERVER['REQUEST_URI']=="/page4.htm") echo "<title>Стр 4. "
  
else echo "<title>Для остальных страниц. ";
  }
 }
};
?> 


PS. Относительно "последний вариант"-а - там можно использовать доп. возможности...
- если использовать в главном файле какой-то набор общих переменных, типа
$main_ttl = "Имя сайта"
, тогда в подключаемых файлах можно их выводить в нужном месте
echo "<title>Заголовок от шаблона - $main_ttl</title>";

Не придется тогда из шаблона инклюдить часть "<title>" , потом дописывать еще что-то и потом закрывать "</title>" - так и запутаться недолго ;)

- если убрать из подключаемого файла $out++, а ставить его в главном файле, то можно более гибко управлять выводами - например какой-то блок вызвать дважды... получим небольшое изменение

$out =0;
...
<?include("1.php");$out++;?> // выведет заголовок
...
<?include("1.php");$out++;?> // выведет мета теги
...
<?include("1.php");$out++;?> // выведет еще что-то там
...
<?$out=5; include("1.php")?;$out=2;> // выведет что-то дополнительное
...
<?include(
"1.php");$out++;?> // опять по основному алгоритму =)


преимущества - ЧЕТКО организовав зависимость индексов
0-заголовок
1-мета
2-блок контента
3-....
..... и т.д.
N - блок подменю (например)

можно четко в основном файле прописать где и что вставлять, а в самих файлах можно не определять ненужный (в данном наполнении) блок, тогда просто в это место ничего не выведется ;)

   
 
 автор: soloway   (06.03.2007 в 14:16)   письмо автору
 
   для: ZuArt   (06.03.2007 в 13:34)
 

Блин, последний вариант действительно классный. Попробую его обкатать...

Но всё-таки, сорри, я ещё раз со своим вклинюсь. На данный момент, дабы избежать переноса строк, я сделал примерно так:

шаблон:

head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<?php include("title/title.php"); echo( "Название Компании"); ?></title>


title.php

<?

if($_SERVER['REQUEST_URI']=="/page1.htm") echo "<title>Стр 1. ";
elseif(
$_SERVER['REQUEST_URI']=="/page2.htm") echo "<title>Стр 2. ";
elseif(
$_SERVER['REQUEST_URI']=="/page3.htm") echo "<title>Стр 3. ";
elseif(
$_SERVER['REQUEST_URI']=="/page4.htm") echo "<title>Стр 4. ";

else echo 
"<title>Для остальных страниц. ";

?>

Т.е. открывающий тэг <title> отсутствует в шаблоне и инклюдится из title.php

По некой неудобности редактирования я согласен, потому и попробую твой метод, но сейчас надо срочно выложить, то что есть, а перекраивать все контенты пока времени нету. Словом пока так...

Ещё. По коду моей лабуды. Читал, что elseif нежелательны, но по-другому у меня не работает. Когда вместо elseif были if, то else грузилось для всех if, кроме самого ближнего, т.е. if($_SERVER['REQUEST_URI']=="/page4.htm") echo "<title>Стр 4. "; в данном случае...

Что-то мне подсказывает, что надо было что-то заключить в фигурные скобки. Пробовал, но в результате всех моих проб вылезали ошибки. Словом не подкорректируете, если так:

<?

if($_SERVER['REQUEST_URI']=="/page1.htm") echo "<title>Стр 1. ";
if(
$_SERVER['REQUEST_URI']=="/page2.htm") echo "<title>Стр 2. ";
if(
$_SERVER['REQUEST_URI']=="/page3.htm") echo "<title>Стр 3. ";
if(
$_SERVER['REQUEST_URI']=="/page4.htm") echo "<title>Стр 4. ";

else echo 
"<title>Для остальных страниц. ";

?>

Т.е. чтобы для всех условий, неопределённых в if, было else...

ЗЫ. Или бог с ними, оставить elseif?

   

Сообщения:  [1-10]    [11-20]  [21-23] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования