Статьи

Доступные части Flash 1 и 2

Шаг к доступному Flash-контенту: предоставление Flash-контента в реальном времени для поисковых систем и создание закладок для Flash-сайтов.

Часть 1 — SEO для Flash, начинается ниже.

Часть 2 — Закладка Flash, начинается здесь.

Состояние игры

Современные поисковые системы выросли в партнерстве с традиционным HTML-документом; неудивительно, что они прекрасно индексируют каждый последний фрагмент информации, найденный в html-файлах.

Большой! Но что происходит, когда ваш новый веб-сайт вообще не имеет HTML-контента? Чаще всего это происходит на веб-сайтах, созданных в Macromedia Flash , где содержимое заблокировано в файле, который поисковые системы полностью игнорируют.

Этот вопрос заставил меня задуматься о том, что можно назвать святым Граалем разработки Flash Web: получить хорошие списки поисковых систем, основанные на текущем контенте, для Flash-сайтов, которые не имеют «окружающего», релевантного html-контента — другими словами, что стать известным как сайт Flash.

В этом практическом примере я покажу вам, как выполнить эту задачу простым, масштабируемым и прозрачным для вашего общего посетителя веб-сайта — без раздражающих перенаправлений, обновлений или «скрытого» текста для рассмотрения. Он имеет дополнительное преимущество, заключающееся в том, что разделы, включая фреймы и сцены, можно добавить в закладки на веб-сайте Flash для последующего использования.

Я также проиллюстрирую альтернативные методы предоставления Flash-контента поисковым системам.

Этот процесс построен с использованием разрозненных концепций, которые, на первый взгляд, не имеют ничего общего с Flash. Вместе взятые, они обеспечивают ключ к успеху.

Используйте этот метод, и у вас будет Flash-сайт с контентом, который напрямую доступен через URL или внешние гиперссылки. Знание того, что поисковые системы могут эффективно индексировать Flash-сайты, позволит вам продвигать Flash как жизнеспособную технологию разработки и продвижения веб-сайтов ваших клиентов.

Первые мысли

Идея разработки масштабируемой и простой в обслуживании системы, позволяющей поисковым системам индексировать Flash-сайты, пришла мне в голову, когда я находился на начальном этапе создания своего собственного веб-сайта.

В 2000 году я оценил варианты и решил создать веб-сайт с использованием Flash, зная, что общее мнение онлайн-мира (в том числе и некоторых гуру) о том, что этот подход должен отбросить доступ к сайту из окна, было бы общепринятым. К числу заявленных преступлений на сайте, полностью поддерживающем Flash, относятся такие предположения, как игнорирование кнопок «Назад» и «Вперед» в браузере * и невозможность сделать сайт доступным для индексации в поисковых системах (под общим зонтиком прямых ссылок).

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

* Роберт Пеннер , используя некоторое боковое мышление, доказывает, что это предположение неверно, используя набор фреймов (решение, которое может не понравиться всем).

По мере того, как я прогрессировал, я осознавал, что в моем достижении этой цели был задействован ряд концепций.

Концепция 1: внешний контент — ключ

Прочитав много-много Flash-ресурсов, я увидел, что ключом к SEO-оптимизации Flash-сайта было отделение содержимого веб-сайта от Flash-фильма — загрузка его из внешних источников. Эти источники могут составлять что угодно, от таблицы базы данных или файла XML до простого простого текстового файла.

Выгода я видел в хранении моего текстового содержимого за пределами SWF-файла в том, что она может быть использована во множестве внешних устройств. Например, текст в таблице базы данных может использоваться в XHTML, Flash и, если смотреть в будущее, в устройство, готовое к XML.

Мой выбор для хранения и извлечения контента, который был сделан в результате предыдущего опыта работы с этой технологией, был базой данных MySQL с PHP в качестве сценария на стороне сервера. Однако вы можете использовать любую комбинацию базы данных / сценария для достижения этой цели.

Теперь хранить контент — это одно, а надежно извлекать и обслуживать контент, который индексируется поисковыми системами и просматривается во флэш-фильмах людьми, — совсем другое. Время для поисковика …

Концепция 2: Понимание индексации

Это ни в коем случае не исчерпывающий взгляд на то, как поисковые системы получают свой контент — это заняло бы больше, чем несколько мертвых деревьев! Тем не менее, нам все еще нужно быстро взглянуть на то, как веб-контент попадает в поисковую систему.

Известные поисковые системы получают контент через ботов, которые путешествуют по сети по ссылкам и отправляют найденную информацию своим соответствующим движкам. Каждый бот идентифицируется уникальным именем, называемым строкой пользовательского агента (строка представляет собой кодовую беседу для фрагмента текста и не имеет никакого отношения к шнуркам обуви программиста). Фактически, почти каждый посетитель, бот, веб-браузер или другой пользователь веб-сайта предоставляет собственную строку агента пользователя.

Давайте посмотрим на несколько, чтобы увидеть, с чем мы имеем дело:

  • Googlebot / 2.1 (+ http: //www.googlebot.com/bot.html)
  • Mozilla / 3.0 (Slurp / si; [email protected]; http://www.inktomi.com/slurp.html)
  • FAST-WebCrawler / 3.3 ([email protected]; http://fast.no/support.php?c=faqs/crawler
  • Mozilla / 5.0 (Windows; U; Windows NT 5.0; en-US; rv: 1.2.1) Gecko / 20021130

Первые три строки агента пользователя идентифицируют поисковых роботов из Google, Inktomi и FAST. Последний является стандартным идентификатором Mozilla 1.x.

Тот факт, что авторитетные поисковые системы предоставляют согласованные строки пользовательских агентов, которые отличаются от наших посетителей-людей, позволил мне разделить трафик на Веб-сайт на две основные категории и одну второстепенную категорию:

  1. Searchbots
  2. Люди, использующие веб-браузеры
  3. Неизвестно (тех посетителей, которых слишком сложно идентифицировать с помощью предоставленного пользовательского агента)

По сути, поисковые роботы — это урезанные версии браузеров. Они игнорируют сценарии на стороне клиента, такие как JavaScript, и могут игнорировать такие хитрости, как обновление метатега и создание текста того же цвета, что и фон документа.

Но что из серверных сценариев? Поисковые роботы, как и их двоюродные братья по веб-браузеру, принимают страницу, которую отправляет сервер. Могу ли я тогда заставить свой веб-сервер отправлять разные страницы на основе результатов опроса строки User Agent? Вы держите пари!

Концепция 3: ориентация на контент из URL

Отправной точкой для таргетинга контента на веб-сайте HTML является URL-адрес, и та же концепция применяется к веб-сайтам Flash. Когда страница запрашивается через URL, имя файла отправляется на сервер вместе с любыми переменными, которые добавляются в конец имени файла.

Мы все видели что-то вроде этого:

google.com/search/?q=flash+and+search+engines

В моем случае это было:

/index.php?go=4

Эта часть имени файла после ? Этот символ известен как строка запроса * и будет доступен сценарию index.php при его запуске. В дополнение к этому, любые переменные, которые отправляются в PHP-скрипт, подобный этому, будут доступны в массиве (например, в кабинете, где каждый розыгрыш содержит часть информации) с именем:

http://www.php.net/manual/en/reserved.variables.php#reserved.variables.get $ _GET.

В этом случае у нас будет $ _GET [‘go’]. (В приведенном выше случае с Google у нас будет $ _GET [‘q’])

* Альтернативный способ сделать это включает переписывание URL . Например, вместо этого index.php? Go = 4 у нас может быть / go / 4 /. Это кажется более дружественным для поисковых систем, но имеет более крутую кривую обучения по сравнению с простой строкой запроса. И да, поисковые системы, такие как Google, индексируют страницы с помощью строк запроса, если они остаются короткими (из моего опыта я могу получить списки с двумя переменными в строке запроса). Я оставлю вам выбор, но для простоты я пока придерживаюсь строки запроса.

Моей первой задачей было проверить содержимое $ _GET [‘go’]. Это необходимо, поскольку URL-адрес может быть изменен посетителем веб-сайта, и центральная часть хороших веб-сценариев заключается в том, чтобы не доверять чему-либо, что сценарий получает с помощью методов GET или POST .

Итак, начнем с опроса переменной, попавшей в наш скрипт. Я полностью прокомментировал PHP-скрипт, который делает это (строки с // или окружен / ** ** /), поэтому, если вы страдаете кодафобией, прочитайте это!

Предположим также, что соединение с базой данных прошло успешно.

 <?  /** - getparse.inc.php  ---------- what we want to achieve here -----------  - check if the 'go' variable exists  - strip out any content that may be hazardous to the script  - convert 'go' to an integer for the sql query  - nb : all content kept in the database is identified by a unique integer.  - nb : error content is identified in the database by the id '-1'  **/   //first a function to parse the 'go' variable  //functions are not run by the script until called  function parsego($go_var)  {         //check if the variable is an integer         if(!is_int($go_var))         {             //the variable is not an integer, set it to error content.             $go_var=-1;         }         //return the parsed variable.         return $go_var;   }   //go is passed from the URL header.  //it is available in the super global array $_GET as element 'go'  //$go is the variable used to identify the content to be retrieved.'  //first check if the variable exists,  //if not set it to retrieve default content (1).  if(!$_GET['go'])  {  $go=1;  $title_add = "welcome";  }  //$_GET['go'] exists  else  {   //check the 'go' variable for any 'hazardous' content   //it needs to be converted to an integer using intval()   $go = parsego(intval($_GET['go']));   //check to see if the content requested exists.   $checkGo_sql="SELECT id, header FROM sitecontent WHERE id=$go";   //run the query   //the @ symbol is used to suppress error messages from PHP   $checkGo_result=@mysql_query($checkGo_sql);   //check the number of rows returned.   $checkGo_rows=@mysql_num_rows($checkGo_result);   if(!$checkGo_result || $checkGo_rows==0 || !$checkGo_rows)   {     //if there is an error or if there are no matches,     //set to retrieve error content     $go=-1;     $title_add = "content not found";   }   else   {     $go = @mysql_result($checkGo_result, 0, 'id');     $title_add = @mysql_result($checkGo_result, 0, 'header');   }  }  /** ----- results ------------------  - we have a valid value for $go that can now be  used to retrieve content from the database.  - it is targeting either the error content (-1) or existing content (>=1)  **/  ?> 
Концепция 4: Проверка поисковых ботов

Теперь у меня есть допустимая переменная для получения контента из таблицы базы данных, поэтому пришло время проверить, кто или что посещает Веб-сайт. Опять же, все полностью прокомментировано. В этом примере я представил инструмент, который проверяет, работает ли скрипт должным образом. На живом веб-сайте вы хотите удалить оператор if-else в начале кода.

 <?  /** ------ botcheck.inc.php -------  - determine if the user agent is a known search bot.  **/  //for spoofing the system so that it can be checked  //and validated from the URL.  //remove this when using live.  if($_GET['useragent'])  {  $user_agent = $_GET['useragent'];  }  //if $_GET['ua'] is not available, treat it as a real request.  else  {  $user_agent = $_SERVER['HTTP_USER_AGENT'];  //$_SERVER['HTTP_USER_AGENT']; is where  //PHP holds the user agent string.  //for PHP versions older than 4.3, use $HTTP_USER_AGENT;  }   //a list of terms found in some searchbot strings in my log files  //also some text only browsers thrown in. eg Lynx  //and some that should never be allowed near a Flash movie (web tv)  $searchbot_short_array = array("FAST-WebCrawler/", "Googlebot/",  "Googlebot-Image/", "Ask Jeeves/Teoma", "Ask Jeeves",  "Google WAP Proxy", "Slurp/", "Gigabot/", "Poodle predictor",  "AlkalineBOT/", "Scooter-", "Scooter/", "ASPSeek/", "Sqworm/",  "TurnitinBot/", "Lynx/", "Lycos_Spider", "appie", "walhello",  "WebTV", "LinkWalker", "SurveyBot/", "suzaran", "polybot",  "webcollage/", "Teleport Pro/", "search.ch", "LWP::Simple",  "EasyDL", "Minerva", "RPT-HTTPClient", "IA_Archiver",  "Spinne/", "Webster Pro", "MSProxy", "ZyBorg/",  "Indy Library", "NPBot", "Girafabot",  "Gulper Web Bot", "grub-client");   //traverse the array and look at each element  //if a bot is found, set a variable for later  foreach($searchbot_short_array as $search_for)  {  //attempt to match the array value against the user agent string.  //eregi is a case insensitive regular expression matching function  //in a live setting  //replace $user_agent with $_SERVER['HTTP_USER_AGENT'];       if(eregi($search_for, $user_agent))       {           $bot = true;       }  }  ?> 

Если, например, поисковый робот Altavista, Scooter, попадет на веб-сайт, переменной $bot будет присвоено значение ‘ true ‘.

Концепция 5: Развертывание контента на основе пользовательского агента

Теперь в среде сценариев есть две важные части информации:

  1. действительный идентификатор для содержимого в таблице базы данных ( $go ), и
  2. является ли посетитель сайта ботом ( $bot == true ) или нет / unknown ( $bot не установлен в среде сценариев, т. е. ‘ false ‘).

Теперь пришло время разветвлять скрипт в зависимости от типа посетителя и источника запрашиваемого контента.

 <?  /** --- filtering.inc.php  - display text based content if a bot is found  - ignore if not.  **/  //$bot is set in botcheck.inc.php  if($bot)  {  //show searchbot friendly HTML content according to what  was decided in getparse.inc.php     $getBotFriendly_sql = "SELECT header, content, id FROM sitecontent  WHERE id=$go";    //run the query    $getBotFriendly_result=@mysql_query($getBotFriendly_sql);     //set some results    $content_header = @mysql_result($getBotFriendly_result,  0, 'header');    $content = @mysql_result($getBotFriendly_result,  0, 'content');     //get all the headers and id's for links that the search  bot can follow.    $getAllHeaders_sql = "SELECT id, header FROM sitecontent";    $getAllHeaders_result=@mysql_query($getAllHeaders_sql);   ?>  <div id="vert">    <div id="header">    <b>From little things, big things grow :</b>    <br />    providing real-time Flash content for search engines &  bookmarking Flash Websites    - <b><?echo $content_header?></b>    </div>     <div id="content">    <h4><?echo $content_header?></h4>    <?    //convert newlines (n or r or c) in the content to <br />    echo nl2br($content);    ?>    <h4>site navigation headers from the database table...</h4>    <?    //show the links to other current content available for archiving    //the search bot will follow these links.    while($header_row = @mysql_fetch_array($getAllHeaders_result))    {       if($header_row['id'] != -1)       {       echo "» <a href="$abspath?go=$header_row[id]"  title="more on : $header_row[header]">";       echo "$header_row[header]</a>n<br />n";       }    }  ?>   </div>    <div id="footer">      </div>   </div>  <?  //include the html footer (</body></html>)  include("htmlfoot.inc.php");  // exit from the script so that the flash content is not  displayed to the bot.  exit;  }  ?> 
Связывание всего вместе — передача идентификатора контента во Flash

Наконец, мне нужно настроить макет для файла index.php, который будет содержать три вышеупомянутых включения , и передать значение $ в фильм Flash. Для этого мы добавляем значение в конец имени файла Flash.

 <?  /** ------- index.php ---------- **/   /** ----------- start includes ----------**/  //connect to mysql server and select the database  include("database.inc.php");   //parses the variables passed from the URL  // and checks go against the database  include("getparse.inc.php");   //include the html head content <html><head><title> etc  //also a <link .. /> to the stylesheet, meta tags  //and usage of the $title_add variable  include("htmlhead.inc.php");   //check to see if the user agent is a bot.  include("botcheck.inc.php");   //provide plain text content if the user agent is a bot.  include("filtering.inc.php");  /** ---------  end includes -----------**/   //deploy the flash content for the humans among us  //note the go variable is being passed into the flash movie,  //available as _root.go.  //This is the key to successful bookmarking of Flash movies.  ?>  <div id="wrapper">  <!-- XHTML1.0 compliant code to deploy flash movie -->  <!-- if you are seeing a textarea-like box  you have a corrupt Flash Player ActiveX control.  Try uninstalling Flash Player then installing the  latest and greatest -->   <object   data="<?echo $abspath?>index.swf?go=<?echo $go?>"   type="application/x-shockwave-flash" codebase="http://download.  macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"   width="740"   height="420">   <param name="movie" value="<?echo $abspath?>index.swf  ?go=<?echo $go?>" />   <param name="menu" value="false" />   <param name="quality" value="high" />   <param name="bgcolor" value="#fefefe" />    <a href="http://www.macromedia.com/go/getflashplayer"    title="link to the Macromedia Flash Player download page">    Get the latest Flash Player from Macromedia    </a>  </object>  </div>  <?  //end the html  include("htmlfoot.inc.php");  ?> 

Заставить PHP общаться с Flash

Вот и все для сценариев PHP: три простых включения и одно, содержащее сценарий, который объединит все вместе.

Код успешно снабдил известного поискового робота текстовым содержимым из таблицы базы данных и не позволил ему проиндексировать HTML-код Flash. Поисковый робот теперь отправит обратно своей родительской поисковой системе текст и гиперссылки, которые он найдет, и ссылка на этот контент скоро появится в списках поисковой системы.

Вторая часть этого процесса включает в себя то, что происходит, когда одна из нас активирует одну из гиперссылок, найденных в списке поисковой системы, или когда URL-адрес вводится непосредственно в браузер, т. Е. Когда $bot не установлен. В этом случае интерпретатор PHP полностью пропускает подачу текстового содержимого в filtering.inc.php и переходит к коду, отображающему Flash-ролик.

Теперь сценарию PHP необходимо передать действительный запрос во Flash, добавив переменную $go к имени файла Flash-фильма. То, что это делает, очень просто, но мощно — оно передает значение $go в фильм, делая его доступным для ActionScript в качестве переменной _root.go .

Это связь между URL и Flash-фильмом, и, что самое важное, делает возможным весь процесс.

ActionScript запускается

Как только мой Flash-сайт загрузится, я могу извлечь контент из базы данных, основываясь на значении _root.go , зная, что оно было проверено предыдущим PHP-скриптом. Это будет тот же контент, полученный поисковой системой с использованием $go в качестве идентификатора.

Есть много способов получить динамический контент для Flash. Один метод использует LoadVars, объект на основе Flash Player 6, который может взаимодействовать со сценарием на стороне сервера, таким как PHP. Он не будет работать со старыми версиями Flash Player (ниже 6), поэтому, если ваш целевой Player имеет версию 3-5, вам следует использовать функцию loadVariables.

  _root.go будет доступен для фильма Flash из кадра 1, поэтому его можно сразу добавить в объект LoadVars :

 contentFetcher = new LoadVars();  contentFetcher.id = _root.go;  contentFetcher.sendAndLoad("requestcontent.php",  contentDisplay, POST); 

Здесь я _root.go в новый объект LoadVars именем contentFetcher , а затем отправляю содержимое объекта в скрипт PHP с именем requestcontent.php. Этот скрипт PHP извлекает содержимое из таблицы базы данных и подготавливает его для Flash в формате URL-кодировки . После успешного запуска сценария результаты извлекаются для отображения в фильме с помощью обработчика события onLoad.

Достижение цели

Моя первоначальная цель по поиску поисковых систем для индексации моего сайта была достигнута! Вскоре я нашел свой сайт в кеше Google . Там был мой список, со всем содержимым из моей базы данных, проиндексированным, и никакого Flash не было видно вообще. Как это ни парадоксально для разработчика Flash, это то, что я хотел!

Красоту этой системы можно увидеть в

  • Простота: три основных скрипта делают всю работу
  • Масштабируемость: преимущество автоматического обновления контента для поисковых систем при каждом обновлении контента, удобного для чтения человеком.
  • Прозрачность: для обоих типов посетителей сайта, как ботов, так и людей, контент другого становится невидимым с помощью простых скриптов
  • Независимость от платформы: сценарии запускаются на сервере, поэтому нет проблем с несовместимыми браузерами, искажающими код

Как и в большинстве вещей в жизни, достижение чего-то стоящего имеет положительный побочный эффект. В этом случае мои попытки передачи переменных во Flash с URL-адреса частично решили проблему доступности, которая стала препятствием для многих, кто рассматривал создание Flash-сайтов — создание закладок.

Во второй части этого примера я поясню некоторый код о том, как можно сделать закладки. Мы рассмотрим некоторые альтернативные методы, которые можно использовать, если у вас нет базы данных, наметим некоторые преимущества и недостатки системы, а также возможные будущие направления и обсудим быстрое предупреждение относительно маскировки.

И примечание — вы можете скачать код для обеих статей прямо здесь !

Serendipity — Закладка

Да! Возможна закладка Flash сайта для прямого возврата. С помощью SEO-решения, которое мы обсуждали в первой части этой статьи, после загрузки каждого фрагмента контента во Flash-ролик его можно было идентифицировать по уникальному идентификатору. И, немного поработав с Flash — JavaScript, я мог бы предоставить ссылку, позволяющую посетителям добавить в закладки контент, который был виден в данный момент.

Internet Explorer 4+ для Windows позволяет записывать URL-адрес закладки с использованием небольшого JavaScript-кода для IE. Браузеры, такие как Mozilla, Opera и вообще все, что не является IE для Windows, не позволяют эту функциональность по некоторым соображениям безопасности.

Flash может связываться с JavaScript, если мы добавим вызов функции в гиперссылку HTML и сохраним эту привязку в полученном содержимом. Вот код ActionScript и код для гиперссылки:

 bkurl = "http://www.webqs.com/?go=" + contentDisplay.id;  bktitle = "webqs.com : " + contentDisplay.header;  <a href="javascript:setBookmark(bkurl, bktitle)">bookmark  this content</a> 

Просто! При нажатии во Flash это setBookmark функцию JavaScript, называемую « setBookmark », которую можно поместить в теги <head> рассматриваемой HTML-страницы:

 <script type="text/javascript">  <!--    function setBookmark(url,pagetitle)    //function performs the bookmark action    {            //code for IE4+ on win32            if (navigator.appName == "Microsoft  Internet Explorer" && navigator.appVersion >= "4.0" &&  navigator.platform == "Win32")            {                          window.external.AddFavorite(url, pagetitle);            }            //this code posts a prompt if not            else            {                          window.prompt('Hit Ctrl-Shift-D  (Command-D on a Mac, Ctrl-T in Opera) to bookmark this  page.nCopy and paste this address and title for the  bookmark :' , url + '  ' + pagetitle);            }  // -->  </script> 

Обратите внимание, что по сравнению со стандартными HTML-страницами этот метод имеет большой недостаток, заключающийся в том, что посетитель веб-сайта не может просто нажать свои закладки для сохранения URL-адреса текущего содержимого (если только это не URL-адрес запрашиваемого содержимого). Почему нет? Поскольку всякий раз, когда в Flash-фильме запрашивается новое содержимое, URL-адрес остается неизменным на протяжении всего процесса — он не изменяется, чтобы отражать обновленное содержимое.

Альтернатива — что если у меня нет базы данных?

Описанный выше метод индексации содержимого Flash поисковыми системами основан на предположении, что мы используем базу данных в качестве носителя данных. Итак, что произойдет, если ваш контент будет сохранен в текстовом файле или встроен в настоящий Flash-фильм?

Извлечение контента из текстовых файлов с помощью PHP — простая задача, использующая встроенные в язык функции файловой системы. Просто поместите все содержимое в массив, используя функцию file() , затем просмотрите массив и распечатайте каждый элемент. Чтобы сопоставить текстовые файлы с тем, что было введено в URL-адресе, мы должны использовать систему именования, такую ​​как 1.txt, 2.txt и т. Д. Вместо того, чтобы SELECT данные из таблицы базы данных, используя значение $ go, вы можете настроить таргетинг. файл ‘$ go.txt’ для чтения и печати на экран.

Если по какой-либо причине у вас есть встроенный текст во Flash-фильме, скопируйте его и поместите в текстовые файлы. Затем его можно получить, используя метод, описанный выше. Вы обнаружите, что это происходит каждый раз при обновлении содержимого Flash, поэтому может быть целесообразно подумать о переносе в текстовый файл, файл XML или базу данных для хранения содержимого.

преимущества

Тот факт, что поисковые системы могут индексировать наиболее актуальный Flash-контент на сайте без необходимости вручную обновлять контент поисковой системы, является огромным стимулом для доступности Flash-сайтов.

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

Вашим клиентам также может быть интересно понять, какие области контента более популярны. Большинство анализаторов лог-файлов распознают имена файлов со строками запроса как независимые файлы. И, как таковые, мы можем предоставить нашему клиенту соответствующие номера и дополнительно адаптировать контент сайта на основе этих результатов.

Что наиболее важно, потенциальные клиенты могут быть проинформированы о том, что да, веб-сайт Flash может быть проиндексирован поисковыми системами — без серьезного увеличения стоимости проекта.

Недостатки

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

Конечно, эта проблема не является нарушителем скриптов, так как любой бот, который проскальзывает через фильтрацию, просто найдет HTML-теги, которые содержат Flash-ролик. Однако разработчик должен поддерживать этот список в актуальном состоянии — так же, как другие веб-мастера используют файл robot.txt, чтобы исключить посещение их веб-сайта определенными ботами.

Остерегайтесь маскировки

По словам поисковых систем, маскировка происходит, когда такой метод используется для предоставления боту контента, который не соответствует фактическому контенту на Веб-сайте.

Из часто задаваемых вопросов Google для веб-мастеров :

Термин «маскировка» используется для описания веб-сайта, который возвращает измененные веб-страницы поисковым системам, сканирующим сайт. Другими словами, веб-сервер запрограммирован так, чтобы он возвращал в Google другой контент, чем он возвращает обычным пользователям, обычно в попытке исказить Рейтинги в поисковых системах. Это может ввести пользователей в заблуждение относительно того, что они найдут при нажатии на результат поиска. Чтобы сохранить точность и качество наших результатов поиска, Google может навсегда запретить в нашем индексе любые сайты или авторов сайтов, которые участвуют в клоакинге. искажать их поисковый рейтинг. «

У Altavista тоже есть заявление , хотя оно не так ясно в своем определении маскировки.

Как можно видеть, поисковые системы не одобряют клоакинг, а некоторые фактически запрещают веб-сайты, которые используют эти методы, чтобы получить лучший поисковый рейтинг. Поэтому я настоятельно рекомендую не предоставлять контент, который не соответствует тому, что видят ваши посетители — не стоит забанить такие движки, как Google, которые помимо того, что являются одной из крупнейших поисковых систем, также предоставляют поисковый контент для многих других движков. ,

И вообще, вы хотите, чтобы ваши посетители встречали контент, который искали, верно?

Будущие направления

Интересной особенностью Flash Player 6, которая, будем надеяться, станет более стабильной, является Named Anchor. Именованные привязки позволяют таргетировать различные кадры и сцены в фильме с URL-адреса без перезагрузки всего фильма. Преимущество этой возможности заключается в том, что, поскольку каждый именованный ключевой кадр является целевым, URL-адрес изменяется, отражая его уникальный идентификатор.

Это позволит посетителям захватывать URL, который относится к контенту, который они просматривают в настоящее время, нажимая клавиши с закладками. Это также позволит пользователям перемещаться по сайту с помощью кнопок браузера «назад» и «вперед».

Именованные якоря в настоящее время устанавливаются вручную на временной шкале, что делает сайт Flash на основе ActionScript, управляемый с помощью URL, довольно трудным для реализации. Над этим стоит поэкспериментировать, чтобы лучше определить его текущие возможности и ограничения.

Вывод

Код и его реализация, обсуждаемые здесь, являются шагом к более доступному Flash-контенту. Эта информация может использоваться в качестве основы для создания Flash-сайтов, которые полностью индексируются поисковыми системами, повышая как посещаемость сайта, так и понимание Flash как жизнеспособного инструмента разработки.

Как было рассмотрено в этом тематическом исследовании, влияние на поток включает:

  • Создание закладки для прямого возврата к контенту на веб-сайте Flash
  • Масштабируемость и стабильность для обработки контента при его добавлении на веб-сайт, и
  • Уверенность клиента в том, что веб-сайт Flash может быть проиндексирован без значительных затрат на разработку и затраты.

Вы, читатель, можете добавить и вычесть этот процесс и реализацию. Добиться улучшения оригинальной схемы и сделать ее более стабильной может только помощь разработчикам и дизайнерам в продвижении их Flash-работы.

Используйте это, постройте это, сделайте это лучше!

Дополнительные ресурсы

Реализация кнопки «назад / вперед» Роберта Пеннера с использованием набора фреймов:
http://www.robertpenner.com/experiments/backbutton/backbutton.html

Классический флэш-диатриб Якоба Нильсена от 2000 года. К сожалению, это то, что остается в коллективном сознании, когда Flash и доступность упоминаются вместе. Поскольку в URL-адресе говорится «используйте его», чтобы предоставить другую точку зрения:
http://www.useit.com/alertbox/20001029.html

Flazoom.com Вспышка юзабилити белая бумага:
http://www.flazoom.com/usability/usability_toc.shtml

Flash — 99% Хорошо — Руководство по оказанию первой помощи для Flash-сайтов
http://www.flash99good.com/index_flash.html