Blogspot w domyślnych ustawieniach prezentuje na stronie głównej całe artykuły. Utrudnia to przeglądanie ich, bo strona główna robi się straszliwie długa. Dla wygody odwiedzającego lepiej prezentować zajawkę, jeden-dwa akapity, które pozwolą mu zorientować się w treści artykułu i szybko wybrać to, co naprawdę go interesuje.
Rozwiązanie to jest wygodne również dla autora bloga. Reklamy w treści artykułu są lepiej dopasowane, niż reklamy na stronie głównej (zwłaszcza, gdy Twoje wypowiedzi dotyczą kilku różnych tematów), co daje wyższy CTR. Z drugiej strony notujesz też więcej wyświetleń reklam, bo przeczytanie artykułu wymaga otwarcia dwóch stron.
Rozwiązanie tego problemu sprowadza się do dwóch kroków. Po pierwsze należy umieścić w szablonie prezentowania artykułu link "kliknij tu, by przeczytać resztę artykułu" a następnie pozmieniać wszystkie artykuły, oznaczając zajawkę i resztę treści.
W pomocy Bloggera znajdziemy artykuł o tytule How can I create expandable post summaries?. Przedstawione tam rozwiązanie nie jest doskonałe, ale działa. I o to chodzi. W zależności od tego, czy posiadasz blog z szablonami klasycznymi czy layoutami (nie wiem jak to się na polski tłumaczy, przepraszam), rozwiązania są dwa.Dla klasycznych szablonów.
W sekcji <head> dodajesz wewnątrz znacznika <style> następujący kod:<MainOrArchivePage>
span.fullpost {display:none;}
</MainOrArchivePage>
<ItemPage>
span.fullpost {display:inline;}
</ItemPage>
Wewnątrz sekcji <body>, w okolicy, w której wyświetlana jest treść posta (za znacznikiem <$BlogItemBody$> wklejasz kod:<MainOrArchivePage><br />
<a href="<$BlogItemPermalinkURL$>">Read more!</a>
</MainOrArchivePage>Dla layoutów
W sekcji <head> dodajesz wewnątrz znacznika <style> następujący kod:<b:if cond='data:blog.pageType == "item"'>
span.fullpost {display:inline;}
<b:else/>
span.fullpost {display:none;}
</b:if>
Wewnątrz sekcji <body>, w okolicy, w której wyświetlana jest treść posta (za znacznikiem <data:post.body/> wklejasz kod:<b:if cond='data:blog.pageType != "item"'><br />
<a expr:href='data:post.url'>Czytaj resztę...</a>
</b:if>
Tu uwaga, kod podawany przeze mnie różni się nieco od kodu podawanego we wspomnianym artykule, bo tamten po prostu u mnie nie działał!Dla obu wersji - posty
Wymagana jest jeszcze pewna zmiana wszystkich postów, których ma dotyczyć ta zmiana.
Fragment, który ma być wyświetlany tylko na osobnej stronie dla postu, należy objąć znacznikiem <span class="fullpost"></span>
. Fragment nieobjęty znacznikiem będzie wyświetlany na stronie głównej bloga.
Teraz wada, o której wspominałem. Link "czytaj dalej" będzie pokazywać się pod każdym postem, nawet pod tymi, które wyświetlane są w całości. Widziałem w internecie kilka rozwiązań tego problemu, wykorzystujących JavaScript, niestety u mnie nie działały, więc pozostawiłem to tak jak tutaj.
Jeśli znajdziesz jakieś wyjście z tej sytuacji, będę wdzięczny za info, pozostaw je proszę w komentarzu. :)
Zarabianie na blogach - jak zbudować pasywny dochód
Blog przeniesiony. Zajrzyj na nowy blog o zarabianiu na blogach. :)
Subskrybuj RSS tego bloga i czytaj artykuły gdy tylko się pojawią!poniedziałek, 2 kwietnia 2007
Zajawki artykułów na Blogspot
Opublikował Krzysztof Lis o godzinie 09:15
Etykiety: blog, Blogger, optymalizacja
Subskrybuj:
Komentarze do posta (Atom)
Komentarzy: 6
Skorzystalem z tego postu wiec w ramach rekompensaty
http://elearning-20.blogspot.com/2007/05/pozycjonowanie-tytu-postu-jako-tytu.html
musi działać
<b:if cond='data:blog.pageType == "item"'>
<b:section id='titleTag'>
<b:widget id='Blog2' locked='false' title='Posty w blogu' type='Blog'/>
</b:section><b:else/>
<title>
<data:blog.pageTitle/>
</title>
</b:if>
Jeśli tamto nie zadziała spróbuj tak
<b:if cond='data:blog.pageType == "item"'><b:section id='titleTag'><b:widget id='Blog2' locked='false' title='Blog Posts' type='Blog'><b:includable id='comments' var='post'/><b:includable id='postQuickEdit' var='post'/><b:includable id='main' var='top'><title><b:loop values='data:posts' var='post'><b:include data='post' name='post'/></b:loop> ~ <data:blog.title/></title></b:includable><b:includable id='backlinkDeleteIcon' var='backlink'/><b:includable id='feedLinksBody' var='links'/><b:includable id='backlinks' var='post'/><b:includable id='status-message'/><b:includable id='feedLinks'/><b:includable id='nextprev'/><b:includable id='commentDeleteIcon' var='comment'/><b:includable id='post' var='post'><data:post.title/></b:includable></b:widget></b:section><b:else/><title><data:blog.pageTitle/></title></b:if>
Teraz zadziałało (to pierwsze). Ale trochę się kod różni od tego, co napisałeś u siebie na blogu.
kiedy wklejam ten drugi kod MainOrArchivePage itd
wyskakuje mi komunikat:
Nieprawidłowa deklaracja zmiennej w karnacji strony: Zmienna jest używana, ale nie została zdefiniowana. Dane wejściowe: BlogItemPermalinkURL
Co mam zrobic ????
Miałem z tą samą zmienną kłopoty, dlatego zmieniłem kod z oryginalnego na to, co tu widać.
Napisz komentarz