Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Greške
  • Verzija html stranice za ispis. Ispis CSS stilova na koje sam zaboravio

Verzija html stranice za ispis. Ispis CSS stilova na koje sam zaboravio

U kojem je istaknuo da su njihove stranice s detaljima neupotrebljive u tiskanom obliku.

Bio sam zapanjen kad sam vidio ovaj tweet – shvatio sam da je prošlo dosta vremena otkako sam optimizirao stilove za print i nisam ni razmišljao o tome da ih provjerim.

Možda zato što provodim puno vremena mijenjajući veličinu prozora preglednika kako bih osigurao da moje web stranice rade izvrsno u svim veličinama i oblicima, ili možda zato što rijetko ispisujem stranice za sebe. Bez obzira na razlog, potpuno sam zaboravio na stilove ispisa i to je loše.

Optimizacija web stranica za ispis je važna jer ispisom stranica činimo stranicu što pristupačnijom, bez obzira na okruženje. Ne smijemo stvarati pretpostavke o našim korisnicima i njihovom ponašanju. Ljudi nastavljaju ispisivati ​​web stranice. Razmislite o člancima, postovima na blogu, receptima, podacima za kontakt, web-mjesta s kartama ili popisima nekretnina. Netko će ponekad pokušati ispisati jednu od vaših stranica.

Odavno sam napustio kućne printere jer sam uvijek mislio da se pokvare nakon 10 minuta korištenja. Ali nisu svi kao ja. - Haydon Pickering (uključujući obrasci dizajna)

Ako se i vi nađete u sličnoj poziciji, ovaj će vam post pomoći da se brzo osvježite. Ako niste optimizirali svoje stranice za ispis, sljedeći savjeti pomoći će vam da započnete.

1. Povezivanje stilova za ispis

Najbolji način za uključivanje stilova ispisa je deklariranje @media direktive u svom CSS-u.

Body (font-size: 18px; ) @media print ( /* stilovi ispisa idu ovdje */ body (font-size: 28px; ))

Alternativno, možete uključiti stilove u HTML, ali to će zahtijevati dodatni HTTP zahtjev.

2. Ispitivanje

Ne morate ispisivati ​​stranicu svaki put kada napravite malu promjenu stila. Ovisno o pregledniku, možete izvesti stranicu u PDF, koristiti pregled ispis ili otklanjanje pogrešaka izravno u pregledniku.

Za otklanjanje pogrešaka u stilovima ispisa u Firefoxu, otvorite autorsku ploču (Shift + F2 ili Alati > web programer> Alatna traka za razvojne programere), u polje za unos upišite media emulate print i pritisnite enter. Aktivna kartica djelovat će kao da je vrsta medija ispisana dok se ponovno ne učita.

Emulacija stilova ispisa u Firefoxu

U Chromeu otvorite alate za razvojne programere (CMD + Opt + I (macOS) ili Ctrl + Shift + I (Windows) ili izbornik View > Developer > Developer Tools) i prikažite konzolu, otvorite ploču za renderiranje i odaberite Ispis iz Emulate CSS Izbornik medija.

Emulacija stilova ispisa u Chromeu

3. Apsolutne mjerne jedinice

Apsolutne jedinice su loše na ekranu, ali su odlične za ispis. Savršeno ih je sigurno koristiti u stilovima ispisa, a preporuča se čak koristiti jedinice kao što su cm , mm , in , pt ili pc .

Odsjek ( margina-dno: 2 cm; )

4. Posebna pravila za stranice

Pomoću direktive @page možete postaviti svojstva specifična za ispisanu stranicu, kao što su veličina stranice, orijentacija i dopuna. Ovo je vrlo zgodno ako želite da sve stranice imaju određene uvlake.

@medijski ispis ( @stranica ( margina: 1 cm; ) )

Direktiva @page dio je specifikacije Paged Media Module, koja ima sjajne stvari poput mogućnosti odabira prve stranice za ispis ili praznih stranica, položaja elemenata u kutu stranice i još mnogo toga. Ovo se čak može koristiti za tiskanje knjiga.

5. Upravljajte prijelomima stranica

Budući da ispisane stranice, za razliku od web stranica, nisu beskonačne, sadržaj će se prekidati između stranica. Imamo 5 svojstava za kontrolu kako se to događa.

Prijelom stranice prije elementa.

Ako želimo da element uvijek bude na početku stranice, možemo nametnuti prijelom stranice pomoću pravila prijeloma stranice prije.

Odjeljak (prelom stranice-prije: uvijek;)

Prijelom stranice nakon elementa.

Pravilo prijeloma stranice nakon elementa omogućuje nam prisilno ili onemogućavanje prijeloma stranica nakon elementa.

H2 (prijelom stranice-poslije: uvijek;)

Prijelom stranice unutar elementa

Ovo svojstvo je korisno ako trebate izbjeći prijelome stranica unutar elementa.

Ul (prelom stranice unutar: izbjegavati;)

Udovice i siročad (viseće žice)

Ponekad vam nije potrebna kontrola nad prijelomima stranica, ali je važna kontrola nad tim koliko će redaka biti prikazano na trenutnoj stranici, a koliko na sljedećoj. Na primjer, ako zadnji redak odlomka ne stane Trenutna stranica, na sljedeća stranica bit će prenesena zajedno s predzadnjom. To je zato što je odgovarajuće svojstvo widows prema zadanim postavkama 2. Možemo ga promijeniti.

P ( udovice: 4; )

Ako naiđemo na drugu stranu ovog problema i imamo samo prvi redak odlomka na trenutnoj stranici, tada će cijeli odlomak početi na sljedećoj stranici. Svojstvo siročad je odgovorno za to i njegova zadana vrijednost je 2.

P ( siročad: 3; )

Ovaj kod znači da najmanje 3 retka moraju stati na trenutnu stranicu kako se odlomak ne bi prešao na sljedeći.

Ne rade sva ova svojstva i vrijednosti u svakom pregledniku, trebali biste provjeriti stilove ispisa različitim preglednicima.

6. Resetirajte stilove

Ima smisla poništiti neke stilove kao što su boja pozadine, sjena okvira i boja za ispis.

*, *:prije, *:poslije, *:prvo slovo, p:prvi redak, div:prvi redak, blok citat:prvi redak, li:prvi redak (pozadina: prozirna !važno; boja: #000 !važno; sjena okvira: ništa !važno; sjena teksta: ništa !važno; )

Stilovi ispisa jedan su od rijetkih izuzetaka gdje je korištenje ključne riječi !important u redu.

7. Uklanjanje neobaveznog sadržaja

Kako biste izbjegli trošenje tinte, trebali biste ukloniti nepotrebne stavke kao što su tipografija, oglasi, navigacija i tako dalje. s prikazom: nema svojstvo.

U osnovi možete prikazati samo glavni sadržaj i sakriti sve ostalo:

Tijelo > *:ne(glavni) (prikaz: nema;)

8. Ispis adresa veza

O: poslije ( sadržaj: " (" attr(href) ")"; )

Naravno, sve će biti prikazano na ovaj način: relativne veze, apsolutne veze, sidra i još mnogo toga. Sljedeća opcija će raditi bolje:

A:not():after (sadržaj: " (" attr(href) ")"; )

Izgleda ludo, znam. Način na koji ovi redovi rade je prikazivanje vrijednosti atributa href pored bilo koje veze koja ima vezu ako počinje s http, ali ne pokazuje na našu web stranicu.com.

9. Tiskanje prijepisa kratica

Skraćenice moraju biti umotane u element s opisom u atributu naslova. Ima smisla to ispisati.

Abbr:after ( sadržaj: " (" attr(title) ")"; )

10. Ispis pozadine

Preglednici obično ne ispisuju boju pozadine i pozadinske slike osim ako im to izričito ne kažete. Postoji nestandardizirano svojstvo prilagodbe boje ispisa koje vam omogućuje da nadjačate zadane postavke u nekim preglednicima.

Zaglavlje ( -webkit-print-color-adjust: točno; print-color-adjust: točno; )

11. Medijski upiti

Ako pišete medijske upite kao u sljedećem primjeru, imajte na umu da se stilovi u ovom medijskom upitu neće primijeniti pri ispisu.

@medijski zaslon i (min. širina: 48em) ( /* samo zaslon */ )

Pitat ćete se zašto? jer css pravila primjenjuje se samo kada su ispunjena oba uvjeta: minimalna širina je 48em , vrsta medija je zaslon . Ako se riješimo ključne riječi zaslona, ​​tada će medijski upit uzeti u obzir samo vrijednost min-width.

@media (minimalna širina: 48em) ( /* sve vrste medija */ )

12. Tisak kartica

Trenutne verzije Firefox i Chrome mogu ispisivati ​​karte, ali Safari nije. Neke usluge nude statične karte koje se mogu ispisati umjesto izvornika.

Karta ( širina: 400 px; visina: 300 px; background-image: url("http://maps.googleapis.com/maps/api/staticmap?center=Wien+Floridsdorf&zoom=13&scale=false&size=400x300&maptype=roadmap&format_resh&visuale=png&vis "); -webkit-print-color-adjust: točno; print-color-adjust: točno; )

13. QR kodovi

Dodatak 2: Gutenberg

Ako tražite okvir, onda bi vam se mogao svidjeti Gutenberg, koji malo olakšava optimizaciju stranice.

Dodatak 3: Hartija

Ovo je još jedan okvir za stil ispisa iz

S vremena na vrijeme na internetu možete pronaći toliko vrijedne članke da ih poželite isprintati i pročitati do rupa. Istodobno, sve usluge ne pružaju verziju članka za ispis ili naše želje za ispisom ne odgovaraju ponuđenim mogućnostima (želim ostaviti sliku ili promijeniti vrstu glavnog fonta). Kako ispisati stranicu bez dodatni elementi? U tom će slučaju pomoći web usluga.

Na početnu stranicu PrintWhatYouLike U sredini ekrana nalazi se obrazac za unos adrese stranice za ispis. Adresa je upisana, stranica se učitava i vidimo da kada odaberete bilo koji od elemenata sučelja, ona je okružena crvenim okvirom. Još jedan klik lijevom tipkom miša i otvara se popis mogućih operacija. Elementi sučelja mogu se brisati jedan po jedan ili kao grupa, proširiti jedan odabrani unutar granica ili odabrati jedan blok teksta, brisanjem svih ostalih. Odnosno, moguće je samostalno ukloniti dijelove stranice koji su nepotrebni za ispis ili brzo izolirati potrebno od sekundarnog i ispisati ga.

Na lijevoj strani ekrana je bočna ploča s nizom funkcija za stranicu koja se uređuje:

  • spremanje uređene stranice u PDF, HTML formatima;
  • promijeniti veličinu teksta, vrstu fonta;
  • uklonite pozadine ili slike jednim klikom miša.

Za praktičnost korisnika, PrintWhatYouLike predlaže postavljanje gumba za uređivanje na traku oznaka prije ispisa bilo koje stranice koju posjetimo. Postoji i PageZipper opcija. Bit će zgodno kada čitate one resurse gdje vole podijeliti jedan članak na pet, deset ili više stranica. Ponovo pritisnete “Next Page”, “Next Page” i tada shvatite da nemate ništa za čitanje. PageZipper će cijeli članak postaviti na jednu stranicu za daljnje uređivanje i ispis. Ako ne želite instalirati bookmarklet, tada je dostupan dodatak za Firefox PageZipper 0.6.1.

Registriranim korisnicima PrintWhatYouLike nudi upravljačku ploču koja sadrži informacije o broju instaliranih tipki za Printer Friendly, o spremljenim i ispisanim listovima papira, ušteđenom novcu, neposječenom drveću i nesretnom ugljičnom monoksidu koji se ne ispušta u atmosferu.

Blogeri također mogu imati koristi. Instaliranje dodatka dovest će do pojave na svakoj stranici bloga prikladnog gumba za slanje članaka na ispis, mogućnost spremanja stranica na PDF format, što će čitateljima uštedjeti papir i tintu za pisač.

  • Prijevod

3. Apsolutne mjerne jedinice

Apsolutne mjerne jedinice nisu baš prikladne za ekranske verzije stranica, ali za ispis su upravo ono što vam treba. Savršeno je sigurno koristiti stilove ispisa, štoviše, preporuča se korištenje apsolutnih jedinica kao što su cm , mm , in , pt ili pc .

Odsjek ( margina-dno: 2 cm; )

4. Svojstva stranice

Možete koristiti pravilo @page za kontrolu svojstava stranice, kao što su njihova veličina, orijentacija i margine. To nam jako dobro dođe, recimo, kada je potrebno da sve ispisane stranice imaju iste margine.

@medijski ispis ( @stranica ( margina: 1 cm; ) )
Pravilo @page dio je standarda Paged Media Module, koji nudi mnogo zgodnih stvari, poput odabira prve stranice za ispis, postavljanja praznih stranica, pozicioniranja elemenata u kutovima stranice i . Može se koristiti čak i za pripremu knjiga za tisak.

5. Upravljajte prijelomima stranica

Budući da ispisani listovi, za razliku od web stranica, nisu beskonačni, sadržaj web stranica prije ili kasnije se lomi na jednom listu papira i nastavlja na sljedećem. Postoji pet svojstava za kontrolu prijeloma stranica.

▍ Prijelom stranice prije elementa

Ako želite da element uvijek bude na početku stranice, možete prisiliti prijelom stranice prije njega pomoću svojstva page-break-before.

Odjeljak (prelom stranice-prije: uvijek;)

▍ Prijelom stranice nakon elementa

Svojstvo page-break-after omogućuje vam da prisilno napravite prijelom stranice nakon elementa. Pomoću ovog svojstva također možete onemogućiti prazninu.

H2 (prijelom stranice-poslije: uvijek;)

▍ Prijelom stranice unutar elementa

Svojstvo page-break-inside je zgodno ako želite izbjeći dijeljenje elementa između dvije stranice.

Ul (prelom stranice unutar: izbjegavati;)

▍ Gornje i donje viseće žice

Ponekad u prisilni prekid stranice nisu potrebne, ali je potrebno kontrolirati izlaz paragrafa na granicama stranice.

Na primjer, ako zadnji redak odlomka na trenutnoj stranici ne stane, sljedeća stranica će ispisati posljednja dva retka tog odlomka. To je zato što je svojstvo koje ovo kontrolira (udovice, tj. "gornje viseće linije") prema zadanim postavkama postavljeno na 2. To se može promijeniti.

P ( udovice: 4; )
Ako se dogodi neka druga situacija i samo jedan redak odlomka stane na trenutnu stranicu, cijeli će odlomak biti ispisan na sljedećoj stranici. Svojstvo odgovorno za najnižu siročad također je prema zadanim postavkama postavljeno na 2.

P ( siročad: 3; )
Značenje gornjeg koda je da kako se odlomak ne bi u potpunosti premotao na sljedeću stranicu, najmanje tri retka moraju stati na trenutnu stranicu.

Da biste to bolje razumjeli, pogledajte primjer pripremljen s CodePenom. A ovdje je debug verzija istog primjera, prikladnije je testirati.

*, *:prije, *:poslije, *:prvo slovo, p:prvi redak, div:prvi redak, blok citat:prvi redak, li:prvi redak (pozadina: prozirna !važno; boja: #000 !važno; sjena okvira: ništa !važno; sjena teksta: ništa !važno; )
Usput, CSS stilovi ispisa su jedna od rijetkih iznimaka gdje je direktiva !important sasvim u redu ;)

7. Uklonite neželjeni sadržaj

Kako ne biste trošili tintu, trebali biste ukloniti sve nepotrebno s tiskane verzije stranice, poput ogromnih prekrasnih slajdova, reklama, alata za navigaciju stranicama i slično. To možete učiniti tako da svojstvo prikaza postavite na none. nepotrebnih elemenata. Moguće je da će vam biti ispravno prikazati samo glavni sadržaj stranice, a sakriti sve ostalo:

Tijelo > *:ne(glavni) (prikaz: nema;)

8. Izlaz URL-ova poveznica

Linkovi, u obliku u kojem se obično nalaze na web stranicama, potpuno su beskorisni u tisku, osim ako čitatelj papirnate verzije dokumenta ne zna kamo vode.

Za prikaz URL-ova poveznica nakon njihovog tekstualnog prikaza, dovoljno je koristiti sljedeći stil:

O: poslije ( sadržaj: " (" attr(href) ")"; )
Naravno, ovim pristupom će se “dekodirati” puno suvišnih stvari. Na primjer, relativne veze, apsolutne veze na istoj stranici kao i stranica koja se ispisuje, veze sa sidrima i tako dalje. Kako ne biste začepili ispisanu stranicu, bilo bi bolje koristiti nešto poput ovoga:

A:not():after (sadržaj: " (" attr(href) ")"; )
Sigurno izgleda ludo. Stoga ću objasniti značenje ovo pravilo jednostavnim jezikom: "Prikaži vrijednost atributa href pored svake veze koja ima atribut koji počinje s http, ali ne sadrži mywebsite.com."

9. Objašnjenje kratica

Skraćenice u tekstu treba staviti u oznaku , a njihovi prijepisi moraju biti uključeni u atribut naslova. Ako kratice formatirate na ovaj način, njihova je značenja vrlo lako prikazati na ispisanoj stranici:

Abbr:after ( sadržaj: " (" attr(title) ")"; )

10. Prisilni pozadinski ispis

Preglednici obično ne prikazuju boje pozadine i pozadinske slike kada generiraju stranicu za ispis osim ako im to nije izričito rečeno. Međutim, ponekad je sve to potrebno ispisati. Ovdje je zgodno nestandardizirano svojstvo prilagodbe boje ispisa, koje vam omogućuje da za neke preglednike nadjačate zadane postavke.

Zaglavlje ( -webkit-print-color-adjust: točno; print-color-adjust: točno; )

11. Medijski upiti

Ako pišete medijske upite poput dolje prikazanog, imajte na umu da CSS pravila u takvim upitima neće utjecati na ispisanu verziju stranice.

@medijski zaslon i (min. širina: 48em) ( /* samo zaslon */ )
Zašto je to tako? Stvar je u tome da se CSS pravila primjenjuju samo ako je vrijednost minimalne širine 48em i ako je vrsta medija screen . Ako se riješimo ključne riječi zaslona u ovom medijskom upitu, tada će ona biti ograničena samo vrijednošću min-width.

@media (minimalna širina: 48em) ( /* sve vrste medija */ )

12. Tiskanje kartica

Trenutno verzije Firefoxa i Chrome može ispisivati ​​karte, ali, na primjer, Safari ne može. Što je s ispisom kartica? Jedan od univerzalne opcije- koristiti statične karte umjesto dinamičkih.

Karta ( širina: 400 px; visina: 300 px; background-image: url("http://maps.googleapis.com/maps/api/staticmap?center=Wien+Floridsdorf&zoom=13&scale=false&size=400x300&maptype=roadmap&format_resh&visuale=png&vis "); -webkit-print-color-adjust: točno; print-color-adjust: točno; )

13. QR kodovi

Ispis QR kodova koji sadrže važne poveznice može uvelike poboljšati upotrebljivost papirnatih verzija web stranica. Ovdje je materijal u The Smashing Magazine gdje možete pronaći korisni savjeti na ovu temu. Jedan od njih je uključivanje njihovih adresa u obliku QR kodova na ispisane stranice. Kao rezultat toga, korisnik, da bi u pregledniku otvorio stranicu s koje je napravljen ispis, ne mora na tipkovnici upisivati ​​svoju punu adresu.

14. O ispisu neoptimiziranih stranica

Istražujući temu ispisa web stranica, otkrio sam izvrstan alat koji vam omogućuje praktičnu pripremu neoptimiziranih stranica za ispis. Uz PrintLiminator

Oznake:

  • css
  • pečat
  • Web razvoj
Dodaj oznake

To je eliminacija pogrešaka koje se nazivaju "duplikat sadržaja". Duplikat sadržaja znači da se sličan sadržaj pojavljuje na više mjesta (URL-ova) na internetu. Kao rezultat toga, tražilice ne znaju koji URL prikazati u rezultatima pretraživanja. To može naštetiti rangiranju web stranice stranice. Problem postaje ozbiljniji kada se ljudi počnu spominjati različite verzije sadržaj. U ovom ćemo članku objasniti uzroke dupliciranog sadržaja i pronaći rješenja za svaki od njih.

Zamislite da ste na raskrižju i putokazi ukazuju na dva različitim smjerovima do istog konačnog odredišta: kojom cestom ići? A ako idete u "najgorem" smjeru, kraj staze se također može malo promijeniti. Kao čitatelju, nije vas briga: dobili ste sadržaj na koji ste ciljali. Ali sustav pretraživanja treba odabrati koji će se prikazati u rezultatima pretraživanja, jer ne bi trebao dvaput prikazati isti sadržaj.

Recimo da se vaš članak o "ključnoj riječi x" pojavljuje na http://www.example.com/keyword-x/, a potpuno isti sadržaj pojavljuje se na http://www.example.com/article-category/keyword-x / . To se događa u mnogima moderni sustavi upravljanje sadržajem (CMS). Nekoliko je blogera preuzelo vaš članak, neki se povezuju na prvi URL, a drugi na drugi URL. Ovaj dupli sadržaj predstavlja problem za vašu web stranicu jer veze oglašavaju različite URL-ove u isto vrijeme. Da se svi povezuju na isti URL, vaš bi rang 10 najboljih za "ključnu riječ x" bio mnogo viši.

1. Razlozi za dupliranje sadržaja

Mnogo je razloga koji uzrokuju dupliranje sadržaja. Većina njih su tehničke prirode: nije često da osoba odluči objaviti isti sadržaj na dva različita mjesta bez izdvajanja izvornog izvora. Međutim, tehnički razlozi su brojni. To je uglavnom zato što programeri ne razmišljaju kao preglednik ili korisnik, a kamoli web tražilica, oni razmišljaju kao programer. Što je s gornjim člankom koji se pojavljuje na http://www.example.com/keyword-x/ i http://www.example.com/article-category/keyword-x/? Ako pitate programera, on će reći da je sama.

Pogledajmo kako uočiti duplirani sadržaj na vašoj web-lokaciji, objasniti uzrok i dati sve od sebe da ga popravimo.

1.1 Nerazumijevanje značenja URL-ova

Programer samo govori drugi jezik. Možete vidjeti da je cijela stranica vjerojatno podržana sustavom baze podataka. U ovoj bazi podataka postoji samo jedan članak, softver web stranica jednostavno vam omogućuje da pronađete isti članak u bazi podataka putem više URL-ova. To je zato što je, u očima programera, jedinstveni identifikator za ovaj članak ID članka koji se nalazi u bazi podataka, a ne URL. Međutim, za tražilicu, URL je jedinstveni identifikator za dio sadržaja. Ako to objasnite programeru, on će vidjeti problem. A nakon što pročitate ovaj članak, možete mu odmah pružiti njezino rješenje.

1.2. ID-ovi sesije posjetitelja

Kada pratite posjetitelje i date im mogućnost da spremaju artikle koje žele kupiti u košaricu, dajete im sesiju. Sjednica je u osnovi Pripovijetkašto je posjetitelj učinio na vašoj web-lokaciji i može sadržavati stvari kao što su artikli u košarici. Da biste spremili sesiju posjetitelja koji se kreće s jedne stranice na drugu, morate negdje pohraniti jedinstveni identifikator za ovu sesiju, takozvani identifikator sesije. Najčešće rješenje je to učiniti s korištenjem kolačića. Međutim, tražilice obično ne pohranjuju kolačiće.

Neki se sustavi vraćaju na korištenje ID-ova sesije u URL-u. To znači da svaka interna poveznica na web-mjestu dobiva ovaj ID sesije pridodan url-u, a budući da je ovaj ID sesije jedinstven za tu sesiju, stvara novi URL i time duplicira sadržaj.

1.3. Parametri URL-a koji se koriste za praćenje i sortiranje

Drugi razlog za duplikat sadržaja je upotreba parametara URL-a koji ne mijenjaju sadržaj stranice, kao što su veze za praćenje. Vidite, http://www.example.com/keyword-x/ i http://www.example.com/keyword-x/?source=rss zapravo nisu isti URL za tražilicu. Potonje vam može omogućiti da pratite iz kojih izvora dolaze vaši posjetitelji, ali vam također može otežati rangiranje. Vrlo neželjena nuspojava!

Naravno, ne radi se samo o praćenju parametara, radi se o svakom parametru koji možete dodati URL-u koji ne mijenja vitalni dio sadržaja. Ova je opcija za "pribjegavanje po skupu proizvoda" ili "prikazivanje druge bočne trake", što sve uzrokuje duplikat sadržaja.

1.4. Parsiranje i sindikacija sadržaja

Većina razloga za duplicirani sadržaj su vaši vlastiti ili, barem, krivnjom vaše web stranice, kada druge web stranice koriste vaš sadržaj sa ili bez vašeg pristanka. Ne povezuju se uvijek s vašim izvornim člankom pa ga tražilica ne "dobije" i mora se nositi s još jednom verzijom istog članka. Što vaša stranica postaje popularnija, to ćete je sve češće strugati, proširujući ovaj problem sve više i više.

1.5. Redoslijed parametara

Drugi čest razlog je taj što CMS ne koristi lijepe i čiste URL-ove, već URL-ove poput /id=1&cat=2 gdje se ID odnosi na članak, a mačka na kategoriju. URL /? Cat=2 & id=1 će proizvesti iste rezultate na većini tražilica web-mjesta, ali su zapravo prilično različiti za tražilicu.

1.6. Paginacija komentara

U mom omiljenom WordPressu, kao i u nekim drugim sustavima, moguće je paginirati komentare. To rezultira duplim sadržajem na URL-u članka i url-u članka + /komentar-stranica-1/, /komentar-stranica-2/ itd.

1.7. verzija za tiskanje

Ako vaš sustav za upravljanje sadržajem stvara stranice za ispis i povežete ih sa svojim stranicama članaka, u većini slučajeva Google će ih pronaći osim ako ih izričito ne blokirate. Koju će verziju Google prikazati? Onaj koji je krcat oglasima i perifernim sadržajem ili onaj koji sadrži samo vaš članak?

1.8. sa WWW i bez WWW

Jedna od starih situacija: domena sa i bez WWW-a, dupli sadržaj kada su dostupne obje verzije vaše stranice. Još jedna manje uobičajena situacija koja postoji: http i https duplicirani sadržaj kada se isti sadržaj šalje na obje adrese.

2. Konceptualno rješenje: "kanonski" URL

Kao što je gore definirano, kada više URL-ova vodi do istog sadržaja, to je problem, ali se može riješiti. Osoba koja radi za jednu publikaciju obično će vam moći lako reći koji bi trebao biti "ispravan" URL za određeni članak. Ali smiješno je da ponekad kada pitate tri osobe u istom društvu, daju tri različita odgovora...

To je problem koji u takvim slučajevima zahtijeva obavezno rješenje, jer može postojati samo jedna konačna adresa (URL). Ovaj "ispravan" URL tražilica mora odrediti kao kanonski URL.

Ironična nota

Kanonski je izraz koji potječe iz rimokatoličke tradicije, gdje je stvoren popis svetih knjiga i prihvaćen kao vjerodostojan. Nazvana su kanonskim evanđeljima Novog zavjeta. A ironija je sljedeća: Rimokatoličkoj crkvi je trebalo oko 300 godina i brojne bitke da dođe do ovog kanonskog popisa, a na kraju su odabrali 4 verzije iste priče...

3. Kako pronaći duplikat sadržaja?

Možda ne znate imate li duplikat sadržaja na svojoj web stranici. Evo nekoliko načina da saznate:

3.1. Google Webmaster Tools

Google Webmaster Tool izvrstan je alat za prepoznavanje dupliciranog sadržaja. Ako odete na Alati za Google webmasteri za svoju web-lokaciju pogledajte odjeljak Izgled u pretraživanju HTML optimizacije i vidjet ćete sljedeće:

Problem je u tome što ako imate članak koji izgleda kao članak o "ključnoj riječi X" i pojavljuje se u dvije kategorije, naslovi mogu biti različiti. Oni mogu biti, na primjer, " Ključna riječ X – Kategorija X – Ogledno mjesto" i "Ključna riječ X - Kategorija Y - Ogledno mjesto". Google neće odabrati ove naslove kao duplikate, ali ih možete pronaći pretraživanjem.

3.2. Potražite naslove ili isječke

Ima ih nekoliko operatori pretraživanja, koji su vrlo korisni za ovakve slučajeve. Ako želite pronaći sve URL-ove na svojoj web-lokaciji koji sadrže vaš članak s ključnom riječi X, unesite sljedeći izraz za pretraživanje u Google:

Site:example.com intitle:"Ključna riječ X"

Google će vam tada pokazati sve stranice example.com koje sadrže tu ključnu riječ. Što preciznije odražavate ovaj dio naslova, lakše ćete ukloniti duple sadržaje. Istu metodu možete koristiti za prepoznavanje dupliciranog sadržaja na internetu. Recimo da je puni naslov vašeg članka bio "Ključna riječ X - Zašto je cool", tražili ste: Naslov: "Ključna riječ X - Zašto je cool"

Google će vam dati sve stranice koje odgovaraju tom naslovu. Ponekad je vrijedno tražiti jednu ili dvije pune rečenice iz vašeg članka, jer neki parseri mogu promijeniti naslov.

4. Praktična rješenja za duplicirane sadržaje

Nakon što odlučite koji je URL kanonski URL za vaš sadržaj, morate pokrenuti proces kanokalizacije. To u osnovi znači da bismo tražilici obavijestiti o kanonskoj verziji stranice i pustiti ih da je pronađu što je prije moguće.

Postoje četiri metode rješenja, prema željenom redoslijedu:

  1. Nemojte stvarati duple sadržaje;
  2. Preusmjerite duplicirani sadržaj na kanonski URL;
  3. Dodajte kanonski element veze na duplikat stranice;
  4. Dodati HTML veze s duplikata stranice na kanonsku stranicu.

4.1. Kako izbjeći dupliranje sadržaja?

Neke od gornjih pogrešaka dupliciranog sadržaja imaju vrlo jednostavne popravke:

  • Koristite li ID-ove sesije u svojim URL-ovima? Često se mogu jednostavno onemogućiti u postavkama vašeg sustava.
  • Imate li duplikate stranica za ispis? Ovo je potpuno nepotrebno: samo trebate koristiti list stilova ispisa.
  • Koristite li paginaciju komentara u WordPressu? Ovu značajku jednostavno treba onemogućiti (u postavkama "rasprava") na 99% stranica.
  • Parametri URL-a u drugom redoslijedu? Recite svom programeru da stvori skriptu koja će omogućiti korištenje parametara istim redoslijedom.
  • Problemi s praćenjem veza? U većini slučajeva možete koristiti praćenje kampanje temeljeno na hash umjesto praćenja kampanje temeljeno na parametrima.
  • Dvije verzije stranice sa WWW i bez WWW? Odaberite jednu opciju i držite je se, preusmjeravajući jednu na drugu. Možda vam se također više sviđa Google alati za webmastere, ali ćete morati zatražiti obje verzije naziva domene.

Ako vaš problem nije tako lako riješiti, možda bi se isplatilo dati sve od sebe kako biste izbjegli dupliranje sadržaja. Ovo je definitivno najbolje rješenje Problemi.

4.2. 301 preusmjeravanje dupliciranog sadržaja

U nekim slučajevima nije moguće potpuno spriječiti sustav koji koristite da generira loše URL-ove za sadržaj, ali ponekad se oni mogu preusmjeriti. Imajte to na umu kada razgovarate s programerima. Također, ako se uopće rješavate nekih ponavljajućih problema sa sadržajem, svakako preusmjerite sve stare duplicirane URL-ove sadržaja na njihove odgovarajuće kanonske URL-ove.

4.3. Korištenje rel="canonical" veza

Ponekad se ne postoji način da se riješite duple verzije članka, ali znate da je to pogrešan URL. Za ovaj konkretni problem tražilice su uvele kanonski element veze. Nalazi se u odjeljku vaša stranica i izgleda ovako:

href="http://example.com/wordpress/seo-

U poglavlju canonical link, postavljate ispravan kanonski URL za svoj članak. Kada Google (ili bilo koja druga tražilica koja ga podržava) pronađe ovaj element veze, izvodi automatsko meko preusmjeravanje: prosljeđuje većinu vrijednosti veze koju prikupi ova stranica na vašu kanonsku stranicu.

Ovaj proces je nešto sporiji od preusmjeravanja 301 koje spominje Googleov John Muller, što možete učiniti, što bi bilo puno bolje.

4.4. Povratak na izvorni sadržaj

Ako ne možete učiniti ništa od gore navedenog, to može biti zato što nemate kontrolu nad odjeljkom web-mjesta koja prikazuje vaš sadržaj, dodavanje veze na izvorni članak na vrhu ili dnu članka uvijek je dobra ideja. Ovo bi moglo biti ono što želite učiniti u svom RSS feedu: dodajte vezu na članak u njemu. Ako Google naiđe na više poveznica koje upućuju na vaš članak, uskoro će shvatiti da je ovo prava kanonska verzija članka.

5. Zaključak: Duplicirani sadržaj se može popraviti i treba ga popraviti!

Duplicirani sadržaji su posvuda. Ovo je proces koji morate stalno pratiti. Ako se sve ispravi na vrijeme, tada će nagrada biti brojna. Vaš kvalitetan sadržaj može naglo skočiti na ljestvici jednostavnim uklanjanjem dupliciranog sadržaja na vašoj stranici. Naravno, ako vam je potrebna pomoć pri identificiranju ovih problema, pomoć razvojnim programerima da pronađu rješenja za rješavanje problema s dupliranim sadržajem ili čak rješavanje ovih problema umjesto vas, uvijek možete naručiti

Nekada je bio samo standard za stvaranje poveznice, ili točnije, gumb s oznakom "Verzija za ispis". Potrebni su za ispis na papiru. Verzija za ispis sadrži sve potrebne informacije, ali mu nedostaju interaktivni elementi: gumbi, obrasci i slično.

To znači da netko ručno ili automatski koristi skriptu
uzeo originalni dokument i, nakon što je uklonio sve suvišno iz njega, napravio njegovu kopiju,
pogodniji za ispis. Može biti sličan rad morati
nositi i s tobom.

Rješenje - Ispis stilskih tablica

Jedna od sjajnih značajki CSS-a je sposobnost da
stvaranje stilskih tablica ciljanih na razne uređaje
izlaz. Navikli smo stvarati stilove za prikaz stranica
zaslon, ali još nismo navikli razmišljati o drugim sredstvima prikaza. I,
kao što potvrđuju reference "verzija za ispis", o tiskanju dokumenta, mi
mislimo samo na predstavljanje dokumenta na drugačiji način.

Ali sada se nemamo čega bojati, sad stvarati tiskana verzija
dokument, trebamo samo dobro strukturiran dokument i
tablicu stilova za ispis!

Danas možete uzeti bilo koji (X)HTML dokument i pripremiti ga
ispis sa stilskim listovima bez dodirivanja oznake. I ovdje unutra
problemi s kreiranjem i sinkronizacijom dviju verzija stvar su prošlosti
dokument, jedan za ekran i jedan za ispis. I što je najviše
Dobra vijest je da je lako napraviti.

Zaobići bug plutajućeg elementa

Gecko obiteljski preglednici kao što su Netscape 6.x ili Mozilla imaju
problem s ispisom dugih plutajućih elemenata (dugi plutajući elementi).
Ako je plutajući element otišao s ispisane stranice, onda
preostali dio potpuno nestaje, nikad se ne pojavljuje na sljedećem
stranica.

Ako je vaša stranica poput "A List Apart", tj. članci u njemu su
u jedan veliki plutajući blok, to znači da čitatelji kada
ispis će dobiti samo prvu stranicu članka.

Rješenje je, kao što možete očekivati, nadjačati svojstvo
"pluta" na bloku s tekstom prije ispisa. Ukratko, za sve
plutajući elementi postavljaju pravilo stila "float: none".
Time ćete sve plutajuće elemente vratiti u normalu, i
dokument će se ispisati prema očekivanjima - stranica nakon
stranicu sve do kraja.

Dakle, to je ono što sam predložio Zeldmanu za ALA, i kako
čim je to učinio, problem s tiskanjem je nestao. Za obiteljske preglednike
Gecko ovaj bug još uvijek nije popravljen (u vrijeme pisanja
članak), ali se ipak može lako zaobići gore predloženom metodom.

Krenimo na put

Ispod je "ispisiv" stilski list koji je "A List Apart" riješio problem ispisa plutajućih elemenata:

#menu (prikaz: nema; ) #wrapper, #content (širina: auto; obrub: 0; margina: 0 5%; padding: 0; float: nema !važno; )

Dobar početak. Stilska tablica potpuno se uklanja desni izbornik Tako,
da se ne ispisuje, te postavlja granice i uvlake za
sadržaj članka tako da tekst na bilo kojoj stranici
ravnomjerno raspoređenih od jednog ruba područja za ispis do drugog.

Problem je, kako sam ja vidio, bio u tome što je previše stilova dizajniranih za ekran završilo u procesu ispisa.

Gledajući sadržaj oznake novih članaka na stranici ALA, nalazimo (usred nadjeva) sljedeće retke:

Imamo datoteku stilova, print.css , na koju smo navikli
uređaji za ispis"print" je određen vrijednošću atributa "media".
Datoteka lista stilova nucss2.css koja se uvozi sa
Koristit će se @import konstrukcije za skrivanje od Navigator 4.x
kada se stranica prikazuje na bilo kojem izlaznom uređaju (atribut
media="sve"). To može biti zaslon, pisač, projektor, sintisajzer
govor i tako dalje. Nakon što smo se raspršili, mogli bismo napisati u stilski list za
ispis direktive za boja pozadine stranice i odredite fontove u
piksela.

Povezani članak: Osnovni set dodaci za WordPress

Hoće li to biti velika katastrofa? Ne, ali većina web preglednika
prema zadanim postavkama ne ispisuje pozadinu stranice, već dimenzije navedene u pikselima
fontovi koji su toliko prikladni za prikaz na ekranu nisu takvi
korisno za tiskanje.

Pa idemo malo poboljšati našu tablicu stilova ispisa i riješiti nekoliko drugih problema s izgledom.

Izbjeljivanje pozadine

Više boja koristi se za stavke izbornika s desne strane.
No budući da smo kod ispisa sakrili izbornik, ne moramo ništa mijenjati.
To nas odmah spašava od moguće glavobolje.

Budući da printeri ne ispisuju u bijeloj boji, napravit ćemo pozadinu stranice
bijelim. Također morate ukloniti sve pozadinske slike, koji
koristi se za prikaz stranice.

Ako pozovemo pozadinsko svojstvo u pomoć, odlučujemo jednim potezom
oba problema. Kako biste rješenje učinili fleksibilnijim, postavite element
tijelo Bijela pozadina, i neka imaju elementi "wrapper" i "content".
prozirnu pozadinu (a time i kroz njih bijela boja
tijelo):

tijelo (pozadina: bijela; ) #menu (prikaz: nema; ) #wrapper, #content (širina: auto; margina: 0 5%; padding: 0; obrub: 0; float: nema !važno; boja: crna; pozadina : prozirno ;)

Postavka boje prvi plan(boja fonta) nije bila apsolutno
potrebno, ali bolje je ne zaboraviti na to. Dakle, sada imamo dva
"neplutajući" element (#wrapper, #content) sa prozirna pozadina, i
stranica s bijelom pozadinom.

Možda ćete biti zabrinuti kako Navigator 4.x obrađuje vrijednost
"proziran", ali viši nos: NN4.x obraća pažnju samo na tablice
stilova koji imaju atribut "media" postavljen na "screen". Baš kao
u slučaju direktive @import, naši stilski listovi za ispis uvijek su
skriven od slijepih očiju Navigatora 4. Dakle, nema se o čemu pričati
brinuti se.

Veličina fonta ispisa

Opći stilski list postavlja veličinu fonta na 11 piksela. Vrlo
loš odabir ispisa. Sama obitelj fontova je na prvom mjestu Georgia,
a zatim serif - odličan za ispis, budući da serif fontovi
obično izgledaju bolje na papiru. Potrebno je samo promijeniti veličinu.
font. Kao ovo:

tijelo (pozadina: bijela; veličina fonta: 12pt;)

“Čekaj!” vjerojatno ćete uzviknuti. - "Bodovi su zli!"

Pa da, tako je rekao, i bio je potpuno u pravu - ne možete
postavite veličinu fonta u točkama. Pri ispisu iste primjene paragrafa
ima isto značenje kao i prije mnogo desetljeća. Pošto se pripremamo
stylesheet za ispis, a zatim postavite veličinu fonta za "body" na 12
bodove će biti točne i prirodne.

Naravno, možete postaviti bilo koju veličinu koju želite
Font od 12 točaka je najčešći. A budući da u općoj tablici
stilova, veličine svih ostalih elemenata stranice dane su u odnosu na
veličine u elementu "tijelo", naš posao je gotov.

Marginalije

Postojeća pravila stila postavljena za lijevi i desni obrub
(margine) veličine omota i sadržaja sadržaja na 5%. To znači da na oba
strane članka bit će " prazno mjesto“, a svaki takav “prazan prostor” bit će
biti 10% širine područja za ispis. To je posljedica činjenice da je blok
tekst članka "sadržaj" nalazi se unutar okvira "wrapper", i
svaki od njih ima margine od 5% na lijevoj strani i desne strane.

Povezani članak: Yandex.Škola webmastera

Izvorni opći stilski list navodi uvlačenje od 15% udesno (ispuna)
za blok "sadržaj". Granice su nam već dale 10%, pa trebamo
dodajte još 5%. Ovo je dovoljno lako učiniti:

div#content ( margin-left: 10%; )

U drugom rješenju, moglo bi se ostaviti margine (margina).
u mirovanju i dodajte 5% lijevoj uvlaci (podstava). Budući da je blok "sadržaj".
nema vidljivu pozadinu, dobili bismo isti rezultat.

Nažalost, neki preglednici imaju problema s adekvatnim
rukovanje uvlakama (padding), pa pomičite elemente po stranici
bolje uz pomoć granica (margina).

Ispis poveznica

Bilo je jedno zeznuto pitanje - što učiniti s hipervezama? Očito na
možda nisu toliko korisni u ispisu kao na monitoru, ali često su važni
dati nagovještaj na što su mislili u originalu. Dakle, to sam ja
izumio:

a:link, a:visited (boja: #520; pozadina: prozirna; font-weight: bold; text-decoration: underline; )

To daje poveznicama dovoljno tamnu boju da joj budu blizu
crno na crno-bijeli tisak dok ostaje tamnocrvena
kod tiska u boji. Podebljani font i donja crta osiguravaju da
poveznica će se isticati u ispisanom tekstu.

U pregledniku koji u potpunosti podržava CSS2 specifikaciju, možemo
prikazuju URL-ove veza iza sebe, čineći na taj način uslugu za njih
koji će biti ispis i preglednik pri ruci. Ispod je pravilo,
što se odnosi samo na blok "sadržaj", a time i na URL-ove
ostale veze nisu ispisane:

#content a:link:after, #content a:visited:after (sadržaj: " (" attr(href) ") "; veličina fonta: 90%; )

Isprobajte ovo u preglednicima baziranim na Gecko - Mozilla ili Netscape
6.x. Na ispisu, nakon svake poveznice, vidjet ćete u zagradi povezano
URL do njega.

Preglednici koji ne razumiju ovo pravilo stila neće ih imati
neželjeni efekti - veze će i dalje biti tamnocrvene,
podcrtano i podebljano. Odmah nakon linka tekst neće biti prikazan
njihov povezani URL, to je sve.

Imajte na umu da su razmaci prije i iza zagrada
dio stilskog pravila - ne zaboravite na prostore, kako bi trebali
biti uključeni u dokument.

Postoji jedan estetski problem s ovim novim pravilom. Činjenica,
da nalaže umetanje vrijednosti atributa doslovno u dokument
href.

Gledajući kod bilo koje stranice s web stranice A List Apart, brzo ćemo
imajte na umu da postoji mnogo takozvanih "relativnih referenci" oblika
"/issues/144". Oni će biti umetnuti u dokument takvi kakvi jesu.
postoji, ali bih volio da to budu puni URL-ovi.

U takvim slučajevima nam može pomoći CSS3. Bilo koji selektor atributa,
pomoću operatora ^= odabire elemente na temelju njihovog početka
vrijednosti atributa. Tako možemo odabrati bilo koji href atribut,
počevši s kosom crtom i tamo umetnite tekst za zamjenu
postojeća vrijednost atribut.

#content a:after ( content: " (//www.alistapart.com" attr(href) ") ";)

Ovo pravilo pretvara sve vrijednosti tipa "/issues/144/" u
"//www.alistapart.com/issues/144/". Ovo pravilo neće pomoći
slučaj relativnih URL-ova koji ne počinju kosom crtom, ali
Srećom, ALA ne koristi ovu vrstu veze.

PAŽNJA! VAŽNO! Kao što je spomenuto, selektor oblika ^=
odnosi se na selektore specifikacije CSS3. CSS validator od strane
konzorcij W3 može testirati samo usklađenost sa specifikacijama
CSS1 i CSS2. Bez razumijevanja specifičnog CSS3 selektora, validator će
prijavi pogrešku čak i ako selektor nije u sukobu
specifikacije preporuke.

Ukrašavanje vrha stranice

Gledajući ponovno konačni stilski list, I
otkrio da mi se baš i ne sviđa "zaglavlje" stranice. Stvar je bila prije
ne u samom zaglavlju, već u samom "podvlačenju" naziva stranice. Ovaj
podvlačenje je naravno završilo tamo gdje je slika završila
Zaglavlje. Odjednom mi je palo na pamet da bi bilo lijepo ovo rastegnuti
podcrtavanje po cijeloj širini stranice.

Vrhunski povezani članci