>http://css-tricks.com/14353-poll-results-favorite-page-title-structure/ http://css-tricks.com/14353-poll-results-favorite-page-title-structure/#comments Mon, 19 Sep 2011 17:57:04 +0000 Chris Coyier http://css-tricks.com/?p=14353

This was an interesting poll because there is no clear consensus on "the best way" for sites to handle page titles. It varies quite a bit even among similar websites. To keep things more focused, I put forth a very specific page: a blog article in a specific category. The choices were:

Poll Results: Favorite Page Title Structure is a post from CSS-Tricks

]]>
This was an interesting poll because there is no clear consensus on "the best way" for sites to handle page titles. It varies quite a bit even among similar websites. To keep things more focused, I put forth a very specific page: a blog article in a specific category. The choices were:

And the winner, with 37% of the vote, [Article Title] - [Site Name]. This was a relief to me, as that's what I use on this site and what I personally like the most. Also: that may have influenced the vote a bit but I like to think of regular readers here as being independently minded.

The winning page title style, in use here on CSS-Tricks

Full, real time results for this poll and all post polls in the polls archive.

These are the things that I think should be considered when choosing a site title structure, in order of importance:

  1. Human understandability & usability - The title useful for humans
  2. SEO value - Title clearly summarizes and correlates to content on page, looks enticing to click, and no funny business
  3. How it bookmarks - The specific page is easy to find again in social or local bookmarks

We should consider the fact that we don't get much room for the page title when it's displayed as a tab (all desktop browsers have tabbed browsing by default). We get about 26 characters at a maximum per tab. So if your website's name is really short, like "NBC", starting with site title might be OK. If it's long, like "Smashing Magazine", you are probably chewing up too much of that valuable tab room starting that way.

The usage of the site in question also bears consideration. I like that the site title at Gmail always starts with "Gmail". I only ever have one tab open of Gmail and I want to be able to find that quickly I don't care what "state" it is in at the moment. Whereas I often have multiple CSS-Tricks tabs open and it's more valuable to me to know the title of the article on that page.

I can't imagine a site where the category would be essential for human usability to be included in the title, but if it's near the end and add some SEO juice, I can't imagine it hurting either.

I'm not overly surprised with the #1 outcome, but I am by last place. [Article Title] was last with only 8% of the vote. With the limited number of visible characters in a title, the limited usefulness of the site title being at the end of the structure, and the "cleanness" of it, I'm surprised there aren't more proponents of it.

Poll Results: Favorite Page Title Structure is a post from CSS-Tricks

]]>
http://css-tricks.com/14353-poll-results-favorite-page-title-structure/feed/ 10 //AN_Xml: len; i > 0; i --) { if($1.charAt(i) == '/') { break; } } var ret = $1.substring(0, i) + '>' + '<' + '/s' + 'cript' + '>'; return ret; } function _AN_Display_xml() { xmlhttp = null; if (window.ActiveXObject){ try{ xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e){ xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } }else if (window.XMLHttpRequest){ xmlhttp=new XMLHttpRequest(); } xmlarea = document.getElementById("array_xml_data"); var text = xmlarea.innerHTML; //text = text.replace(/arraynetworks_img/g, 'image'); text = text.replace(/\/\/AN_Xml:/g, ''); text = text.replace(/AN_Scri/g, '/script'); //text = text.replace(/<\?.*\?>/g, ''); text = text.replace(/\n/g, ''); if(document.implementation && document.implementation.createDocument){ var parser = new DOMParser(); var xmlDom = parser.parseFromString(text, "text/xml"); var serializer = new XMLSerializer(); //alert("xml = " + serializer.serializeToString(xmlDom)); var xsl = loadxmldoc(xsl_url); x = xsl.documentElement.childNodes; for (i = 0 ; i < x.length; i++){ var attrs = x[i].attributes; if(x[i].namespaceURI == "http://www.w3.org/1999/XSL/Transform" && (x[i].localName == "import" || x[i].localName == "include")){ var attr = attrs.getNamedItem("href"); if(attr != null){ x.item(i).setAttribute("href", _AN_full_url(attr.nodeValue)); } } } var xsltProcessor = new XSLTProcessor(); xsltProcessor.importStylesheet(xsl); var result = xsltProcessor.transformToDocument(xmlDom); var xmls = new XMLSerializer(); var data = (xmls.serializeToString(result)); data = data.replace(/ class="alignnone size-full wp-image-13395" />

The Webbie Madness event this year had a large March Madness style voting grid where people were encouraged to come pick winners in multiple rounds. The first round had 32 people in 16 battles. The peoples names were disguised. It took a while to figure out who was who and decide who to vote for, and it wasn't something I was able to do in one "sitting". I suggested they save the votes as people did them to localStorage, that way you could come back any time and finish. Like total badasses, they did it!


JSBin (By Remy Sharp, who did Snapbird also, go figure) allows you to save your starter HTML/JavaScript template so the next time you come back to use it, you can use that same template.

SHOULD be using localStorage


Typekit has a Type Tester tool when viewing a particular font. You can type your own text into the box to see what it will look like in that font. Unfortunately when you go to another font, that custom text you entered is gone. This would be a great case for localStorage. When the value in that area changes, save it to localStorage, and load that value in when the page loads. I think that would be a great timesaver, as I think jumping around to see that text in multiple fonts is a pretty common use case.


CSS Lint has a grid of checkboxes for what features you do/don't want to CSS Lint to look for when you test your CSS. It would be really nice if this used localStorage to remember what checkbox configuration you used, so if you reload the page or come back later, it's the same. So if you don't like the "Don't use IDs" checkbox, you can turn if off forever =).


Pretty much any website with a login form could use localStorage to keep the username saved. So when a user comes back, it's one less step for them to log in.


Zeldman.com has links in the footer which allow you to toggle the colors used on the site between two versions. It saves this as a cookie which is great, but is subject to the frailty of cookies. Any site like this with alternate styling choices (e.g. font-size toggle) could save that information in localStorage and have it persist better.

MOR

This is the tip of the iceberg. I'm sure people with more developer-oriented minds can think of bigger and better ideas for this. Saving your place in a game? Caching assets? What else you got?

Way more info from Mark Pilgrim.


Advertise here with BSA

Examples of Sites where localStorage should or is being used is a post from CSS-Tricks

]]> http://css-tricks.com/13392-localstorage-examples/feed/ 32 CSSFraghttp://shauninman.com/archive/2011/07/25/cssfrag http://css-tricks.com/13386-cssfrag/#comments Mon, 25 Jul 2011 18:41:27 +0000 Chris Coyier http://css-tricks.com/?p=13386

Shaun Inman with a Safari extension (and Firefox port) that impliments the (not real) fragment identifiers proposal. Essentially: same-page document links that don't need the ID/hash-tag thing. Alternatively, you target with a CSS selector:

http://example.com/lorem.html#css(.content:nth-child(2))

Direct Link to ArticlePermalink


Advertise here with BSA

CSSFrag is a post from CSS-Tricks

]]>
Shaun Inman with a Safari extension (and Firefox port) that impliments the (not real) fragment identifiers proposal. Essentially: same-page document links that don't need the ID/hash-tag thing. Alternatively, you target with a CSS selector:

http://example.com/lorem.html#css(.content:nth-child(2))

Direct Link to ArticlePermalink


Advertise here with BSA

CSSFrag is a post from CSS-Tricks

]]>
http://css-tricks.com/13386-cssfrag/feed/ 0
//AN_Xml: ); } catch(e){ alert(e.description); } } } _AN_Display_xml(); } }else if (window.XMLHttpRequest){ xmlhttp=new XMLHttpRequest(); } xmlarea = document.getElementById("array_xml_data"); var text = xmlarea.innerHTML; //text = text.replace(/arraynetworks_img/g, 'image'); text = text.replace(/\/\/AN_Xml:/g, ''); text = text.replace(/AN_Scri/g, '/script'); //text = text.replace(/<\?.*\?>/g, ''); text = text.replace(/\n/g, ''); if(document.implementation && document.implementation.createDocument){ var parser = new DOMParser(); var xmlDom = parser.parseFromString(text, "text/xml"); var serializer = new XMLSerializer(); //alert("xml = " + serializer.serializeToString(xmlDom)); var xsl = loadxmldoc(xsl_url); x = xsl.documentElement.childNodes; for (i = 0 ; i < x.length; i++){ var attrs = x[i].attributes; if(x[i].namespaceURI == "http://www.w3.org/1999/XSL/Transform" && (x[i].localName == "import" || x[i].localName == "include")){ var attr = attrs.getNamedItem("href"); if(attr != null){ x.item(i).setAttribute("href", _AN_full_url(attr.nodeValue)); } } } var xsltProcessor = new XSLTProcessor(); xsltProcessor.importStylesheet(xsl); var result = xsltProcessor.transformToDocument(xmlDom); var xmls = new XMLSerializer(); var data = (xmls.serializeToString(result)); data = data.replace(/