<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Efrenzy Interactive Webdesign&#38;SEO Kraków &#187; dostępność</title>
	<atom:link href="http://blog.efrenzy.pl/tag/dostepnosc/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.efrenzy.pl</link>
	<description>Blog by Michał Kowalski.</description>
	<lastBuildDate>Fri, 11 Jun 2010 20:28:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Flash, seo i pozycjonowanie? Metody.</title>
		<link>http://blog.efrenzy.pl/2008/01/07/flash-seo-i-pozycjonowanie-metody/</link>
		<comments>http://blog.efrenzy.pl/2008/01/07/flash-seo-i-pozycjonowanie-metody/#comments</comments>
		<pubDate>Mon, 07 Jan 2008 16:02:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SEO & Pozycjonowanie]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[dostępność]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[optymalizacja]]></category>
		<category><![CDATA[pozycjonowanie]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://blog.efrenzy.pl/2008/01/07/flash-seo-i-pozycjonowanie-metody/</guid>
		<description><![CDATA[Zastosowałeś do budowy własnej strony technologię flash, być może użyłeś jej tylko w tworzeniu nawigacji, jednak zapewniam, że jeśli chciałbyś powalczyć z takim projektem o pozycję w google to zafundowałeś sobie niezłą przeprawę   W tym tekście postaram się przeprowadzić rozważania na temat możliwych technik ratowania niedostępności technologii flash dla robotów wyszukiwarek. Zapraszam do [...]]]></description>
			<content:encoded><![CDATA[<p>Zastosowałeś do budowy własnej strony technologię flash, być może użyłeś jej tylko w tworzeniu nawigacji, jednak zapewniam, że jeśli chciałbyś powalczyć z takim projektem o pozycję w google to zafundowałeś sobie niezłą przeprawę <img src='http://blog.efrenzy.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  W tym tekście postaram się przeprowadzić rozważania na temat możliwych technik ratowania niedostępności technologii flash dla robotów wyszukiwarek. Zapraszam do czytania&#8230;<span id="more-25"></span></p>
<p><strong>Twórcy flash&#8217;a o czymś nie pomyśleli.</strong></p>
<p>Niestety tak się stało, że twórcy z Macromedii nie zadbali o kompatybilność i dostępność swojej technologii dla crawlerów, trudność wynika z tego iż dynamiczna i mocno interaktywna strona jest dużo trudniejsza w interpretacji od statycznego html&#8217;a (bądź nawet semi statycznego, generowanego dynamicznie). Sprawa od samego początku nie została rozwiązana i jak widać jeszcze przez spory okres czasu nie będzie flasza przyjaznego dla google. I jak sądze z tego powodu Flash dostaje karniaki na każdym kroku, dalej zobaczmy co możemy z tym fantem zrobić.</p>
<p><strong>Za co jesteśmy (nie)wdzięczni deweloperowi przeglądarki IE?</strong></p>
<p>W roku 2006 wyszła nowa wersja przeglądarki Microsoft&#8217;u (IE) zawierająca aktualizację zwaną &#8220;Eolas&#8221;, która zapobiegała uruchamianiu aplikacji Flash na bazie Active-x podczas ładowania strony i wymagała aktywacji poprzez kliknięcie na obiekt interaktywny. Eolas był znienawidzony przez twórców stron wykorzystujących omawianą technologię, gdyż ich strony były martwe w przeglądarkach IE, a do tego wyświetlały okropne komentarze &#8220;Kliknij, aby aktywować kontrolkę&#8221;.</p>
<p><strong>Wymagania jakie musimy spełnić aby bezpiecznie korzystać z Flash.</strong></p>
<p>Aktualnie można nasze wymagania uznać za marzenia ściętej głowy, ale skoro jesteśmy profesjonalistami i nasze wizje chcemy realizować z zachowaniem standardów to wymieńmy jakie punkty chcemy spełnić:</p>
<ul>
<li>czysty kod</li>
<li> przyjazność wyszukiwarkom</li>
<li> dostępność (usability), różne przeglądarki, urządzenia przenośne</li>
<li> semantyka, zachowanie standardów</li>
<li> poprawne wyświetlanie pod przeglądarkami IE</li>
</ul>
<p><strong>Programowanie Flash przyjazne wyszukiwarkom (SEO friendly).</strong></p>
<p>Dobrym pomysłem na obejście problematyki niedostępności flash&#8217;a na naszej stronie jest użycie funkcji JavaScript&#8217;u zwanej SWFObject();, która to sprawdza czy przeglądarka wyświetlająca jest w stanie obsłużyć treść interaktywną. Jeśli napotykamy na problemy to stosujemy div z alternatywną treścią o tej samej (lub możliwie zbliżonej) funkcjonalności zakodowanej za pomocą statycznego kodu (x)html. W obszarze wspomnianego alternatywnego div&#8217;a możemy swobodnie zawrzeć linki, tekst oraz obrazy jakie pierwotnie miały być udostępnione z użyciem animacji. Jeśli natomiast obsługa flash jest dostępna nasza funkcja modyfikuje strukturę dokumentu (DOM) tak aby wyświetlała zawartość prezentacji i wydaje się, że wybrneliśmy z opresji.</p>
<p>Mogło by się wydawać, że ta technika nie jest do końca właściwa, jednak stworzony przez W3C (World Wide Web Consortuim) WAI (Web Accessibility Initiative) dopuszcza a nawet wskazuje słuszność takiego rozwiązania. Wdrażając treść alternatywną dla objektów flash pozwalamy crawler&#8217;om oraz użytkownikom, dla których treść interaktywna jest niedostępna korzystać z całej funkcjonalności stony. Wiecej szczegółów w dokumentacji: <a TITLE="elementy multimedialne powinny posiadać dostępne wersje alternatywne" HREF="http://www.w3.org/TR/WCAG10-HTML-TECHS/#embed-multimedia">elementy multimedialne powinny posiadać dostępne wersje alternatywne</a>. Zalecana jest również ostrożność stosowania tej metody ze względu na możliwość traktowania zdwojonej treści jako  sposób cloaking&#8217;u, aby temu zapobiec należy starać się o wierne odpowiadanie obu treści (mają przedstawiać to samo).</p>
<p><strong>Praktyka &#8211; użycie funkcji SWFObject();</strong></p>
<p>Nasza metoda jest rozwijana przez Geoff Sterns&#8217;a w postaci skryptu <a HREF="http://blog.deconcept.com/swfobject/" TITLE="SWFObject">SWFObject.js</a>, który służy SEO-zoptymalizowanemu osadzaniu elementów flash w kodzie strony. Jeśli już umieściłeś na serwerze kod skryptu oraz zainkludowałeś do zawartości dokumentu możemy przejść do praktyki. Poniżej najprostszy wariant kodu:</p>
<p><font COLOR="#333399">&lt;script type=&#8221;text/javascript&#8221; src=&#8221;swfobject.js&#8221; mce_src=&#8221;swfobject.js&#8221;&gt;</font></p>
<p><font COLOR="#333399">&lt;/script&gt;</font><font COLOR="#333399"><br />
</font><font COLOR="#333399"> &lt;div id=&#8221;flashcontent&#8221;&gt; </font></p>
<blockquote><p><font COLOR="#333399"> Tutejsze instrukcje zostaną zastąpione elementem flash.</font></p></blockquote>
<p><font COLOR="#333399"> &lt;/div&gt;</font></p>
<p><font COLOR="#333399">&lt;script type=&#8221;text/javascript&#8221;&gt;</font><font COLOR="#333399"><br />
</font><font COLOR="#333399"> var so=new SWFObject(&#8220;movie.swf&#8221;, &#8220;mymovie&#8221;, &#8220;400&#8243;, &#8220;200&#8243;, &#8220;8&#8243;, &#8220;#336699&#8243;);</font><font COLOR="#333399"><br />
</font><font COLOR="#333399"> so.write(&#8220;flashcontent&#8221;);</font><font COLOR="#333399"><br />
</font><font COLOR="#333399"> &lt;/script&gt;</font></p>
<p>&#8211;</p>
<p>W pojemniku &lt;div id=&#8221;flashcontent&#8221;&gt;[...]&lt;/div&gt; zawarty będzie nasz obiekt interaktywny, który będzie automatycznie zastępowany przez treść alternatywną w przypadku wykrycia problemów z obsługą flash&#8217;a.</p>
<p>Argumenty jakie przekazujemy do naszego objektu za pomocą funkcji SWFObject:</p>
<ul>
<li>swf &#8211; ścieżka do pliku swf oraz jego nazwa</li>
<li> id &#8211; ID objektu lub znacznik embed</li>
<li> width &#8211; szerokość osadzanego elementu</li>
<li> hight &#8211; wysokość elementu</li>
<li> version &#8211; wymagana wersja Adobe Flash Player&#8217;a</li>
<li> background-color &#8211; wartość heksadecymalna koloru tła.</li>
</ul>
<p>Opcjonalnie może zawierać również:</p>
<ul>
<li>quality &#8211; jakość z jaką zalecasz odtwarzanie elementu, domyślnie jest wysoka (hight)</li>
<li> xiRedirectUrl &#8211; przekierowanie dla użytkowników, którzy korzystają z szybkiej aktualizacji</li>
<li> redirectUrl &#8211; przekierowanie dla tych, którzy z pewnych powodów nie chcą aktualizować wersji flash playera</li>
<li> detectKey &#8211; klucz z jakim będzie wykrywana wersja naszego skryptu.</li>
</ul>
<p><strong>Uwagi.</strong></p>
<p>Jeśli stosujesz opisane rozwiązanie optymalna kolejność postępowania powinna obejmować jako pierwsze udostępnienie treści alternatywnej a następnie zastosowanie docelowego objektu interaktywnego. Jednak życie uczy nas, że właściwe drogi realizacji są bardzo nieprawdopodobne i chcesz zastosować ten wybieg jako ratunek dla już istniejącego elementu (flash). Jest na to rada, ale do tego jeszcze wrócę.</p>
<p>Odnośnie oczekiwań jakie możemy mieć względem stosowania tego typu wybiegu należy pamiętać, że nie uzyskamy pewności poprawnego pozycjonowania naszej strony, jedyna pewność to ta, że usuwamy niedogodności i czynimy naszą treść dostępniejszą. Solidna optymalizacja i odrobina cierpliwości może przynieść oczekiwane rezultaty lecz nie musi.</p>
<p><strong>Strony w pełni zbudowane w oparciu o flash&#8217;a.</strong></p>
<p>W przypadku stron zbudowanych w pełni na technologii flash sytuacja jest nieco gorsza, aby nie powiedzieć, że beznadziejna. Możemy jednak zapewnić możliwie dobre funkcjonowanie strony pod kątem zasad SEO stosując pewne metody.</p>
<p>Jeśli stworzymy dla każdej z podstron zamienniki w czystym (x)html&#8217;u i pozwolimy na pertraktowanie wyświetlania treści jak w poprzednio opisanej metodzie, jesteśmy o krok dalej. Dodatkowo możemy porcjować elementy flash i umieszczać osobno na każdej podstronie tak aby zapewnić dostęp crawler&#8217;om i użytkownikom nie mogącym wyświetlać animacji.</p>
<p>Jest również możliwość stosowania skryptów PHP aby zamiennie serwować pierwotną treść w czystym kodzie (x)html oraz animacji alternatywnie od sytuacji. Jeśli wszystko oprzeć o wykorzystanie bazy danych (np. MySQL) do przechowywania elementów interaktywnych możemy liczyć na dosyć dobrą optymalizację wyświetlania treści w odniesieniu do szybkości funkcjonowania.</p>
<p><strong>Zakończenie.</strong></p>
<p>Temat optymalizacji daje pole do szerokiej dyskusji i szukania wielu rozwiązań, dlatego ten post nie wyczerpuje w pełni tematu. Jeśli uznam, że będzie to wskazane w następnej części opiszę kolejne metody dla twórców stron opartych na treści interaktywnej flash.</p>
<p><em>~Michał Kowalski 2008</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.efrenzy.pl/2008/01/07/flash-seo-i-pozycjonowanie-metody/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
