O'Reilly

Dear Developers, Don’t Hardcode Copyright Years

By on  

Keeping your website current is extremely important when your goal is increasing return traffic. One easy place to make your website look current is in the copyright text at the bottom of the page. This is a rather obvious and easy thing to do, but some sites have overlooked their copyright year.

Offender 1: Google Analytics

Offender 2: Cedant Web Hosting

Offender 3: VH1

Offender 4: Kraft Foods

Offender 5: MooTools

Offender 6: Manning Publications

Offender 7: Prototype JS

Offender 8: Rock Band

The moral of the story? Don't hardcode your site's copyright year unless you must legally keep a specific year.

O'Reilly Velocity Conference
Save 20% with discount code AFF20

Recent Features

  • I’m an Impostor

    This is the hardest thing I've ever had to write, much less admit to myself.  I've written resignation letters from jobs I've loved, I've ended relationships, I've failed at a host of tasks, and let myself down in my life.  All of those feelings were very...

  • Regular Expressions for the Rest of Us

    Sooner or later you’ll run across a regular expression. With their cryptic syntax, confusing documentation and massive learning curve, most developers settle for copying and pasting them from StackOverflow and hoping they work. But what if you could decode regular expressions and harness their power? In...

Incredible Demos

  • Editable Content Using MooTools 1.2, PHP, and MySQL

    Everybody and their aerobics instructor wants to be able to edit their own website these days. And why wouldn't they? I mean, they have a $500 budget, no HTML/CSS experience, and extraordinary expectations. Enough ranting though. Having a website that allows for...

  • Create WordPress Page Templates with Custom Queries

    One of my main goals with the redesign was to make it easier for visitors to find the information that was most popular on my site. Not to my surprise, posts about MooTools, jQuery, and CSS were at the top of the list. What...

Discussion

  1. From one of my templates:

    Looks a bit ugly but does the trick just fine. ;)

  2. That should have been:

    print(gmdate('Y')!='2005'?'2005-'.gmdate('Y'):gmdate('Y'));
    

    (I hope it works now… a preview button would have been nice by the way.)

  3. Jos: Absolutely. Here’s what I use for this site:

    echo date('Y') == '2007' ? '2007' : '2007 - '.date('Y');
    

    Obviously I hardcode 2007 because that’s the year the blog started.

  4. I always would notice that Google would change their copyrights on the day of new years. I was always impressed that they were on top of it.

    Later I realized that they just pull it from the date on the server. From then on I have always done it that way. I am suprised that you found so many sites that are out of date.

  5. bekee

    the need for copyright is only necessary when there’s new content on the site… so if they haven’t made changes in 2008, there’s no need to copyright it for this year until new content appears.

    i’m just sayin’. i use server-side though. :)

    var d = new Date(); document.write(d.getFullYear());

  6. I use PHP to echo whatever the current year is – so my copyright updates at midnight on New Year :)

  7. Hey guys Just do:

    and thats it.

  8. Hey guys Just do: echo date("Y"); and thats it.

  9. Martyn P

    I’m never sure of what sort of rules there are on this sort of thing. If anyone could point me to a nice resource on website copyrights it would be much appreciated. :)

  10. I also look at copyright notices to check how “fresh” a Web site is, so I basically agree with this post. However, it’s important to keep in mind that changing the copyright date at the bottom of each page on your site really has nothing to do with a legal copyright. Once you’ve published an item, the copyright date is set. So, if I posted an article on my blog in 2006, it still has a copyright of 2006, no matter what copyright date is listed at the bottom of the Web page. In addition, if you ever did run into a case where a site was infringing the copyright of some of your content, you’d want the original copyright date to prove that your content preceded what appears on the copycat site.

  11. Here is the code I use on my classic asp pages.

    Copyright © 1998 – <%=Year(Date)%&rt;

    And for ASP.NET

    Copyright © 1998 – <%=DateTime.Now.Year()%- &rt;

  12. Here is the code I use on my classic asp pages.

    Copyright © 1998 – <%=Year(Date)%>

    And for ASP.NET

    Copyright © 1998 – <%=DateTime.Now.Year()%>

    (Sorry about the double post. I second the preview idea!)

  13. I guy I met once, used to have some text in his website’s footer stating ‘Page last updated DD-MM-YYYY’ which just showed that days’ date pulled in with PHP. His boss thought he was so hard working, updating the site every day!

  14. @Phil: Hilarious!

  15. @bekee:
    Try that and you’ll may notice a *slight* difference between IE 6 and 7.
    That gave me a lot of headaches until I found this:
    http://www.quirksmode.org/js/introdate.html
    enjoy.

  16. The question is not to find a nice way to print the current year in the footnote (even a newby can do that), but whether which year should be displayed, and if the copyright notice should be printed at all.

    Under the 1886 Berne Convention, copyrights for creative works do not have to be asserted or declared, as they are automatically in force at creation. Most developed countries in the world signed the Berne convention.

    Instead, the USA and most Latin American countries entered into the Buenos Aires Convention in 1910, with which a copyright notice was part of statutory requirements.

    The world trade organization incorporated the Berne convention in its TRIP agreements in 2002.

    Hence, this notice is pointless, because author ownership is automatically acknowledged.

  17. @Régis: That explanation was incredible — thank you! That said, if the notice is pointless, it may as well display the current year.

  18. While it’s true that just posting unique content to a Web page automatically gives copyright ownership to the author, if you really want to assert a copyright you should put a copyright notice and date on the published content. In the US, if you are afraid that the copyright on your material might be infringed by a third party you should register your copyrighted material with the US Copyright Office–this is the best way to establish copyright date, and is required if you ever need to take legal action against someone infringing your content. This is probably too much work for most content–especially blog posts and other shorter content–but if you were Web site were totally dependent upon ownership of your content (like a complete book you placed online), it’s worth looking into registering your copyrighted material. YOu can find some more info here: http://www.copyrightkids.org/cbasicsframes.htm

  19. It’s an hypothesis, but maybe theses bigs companies hardcode the copyright strings in their template to same some CPU during the page generation. For a blog or a website with few visitors, it’s a great idea to use Date('Y'); but when you have a lot of visitors (example, google, facebook, …) this could help to save maybee, few milliseconds, but also few servers, for maybe, depending of your opinion, a little detail ^^

  20. i always use

  21. Henry Bowman

    Back when I worked for a Large Computer Manufacturer (who no longer exists), we were told by our company lawyers that “Copyright … 1998-2002″ was a defective notation, and that we must use “Copyright … 1998, 1999, 2000, 2002″ even when it got long and unwieldy, and also including only the years in which the work was actually changed. Since they were large and scary lawyers, we complied, and I have been doing it that way ever since. If you have larger and scarier lawyers who can rebut this, I will be pleased to lay down my mental burden.

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!

Recently on David Walsh Blog

  • Prevent Chrome from Translating a Page

    A while back I shared my favorite Google Chrome extension:  Google Art Project.  I've enjoyed seeing beautiful art when I open a new tab -- it's brought genuine happiness to my day, however small that happiness may be.  About a week ago, however, the art presented had...

  • Create Any Type Of Website With These Multi-Purpose Themes

    We have selected what we believe are the very best multipurpose WordPress themes on the market today. Our list contains a number of best sellers, several newcomers that are proving to be highly popular, and a few themes that are ideal for creating the types of...

  • An Introduction to Static Site Generators

    Static site generators seem to have been becoming more and more popular recently, but they’re not one of those ephemeral novelty things that grow in popularity as quickly as they fall into oblivion shortly after. For over a decade, many different projects — 394 of...

  • Automated Tests for Visual Responsive Layouts

    Today it's all about testing. In 2015, many developers knows about TDD and I personally think that testing is one of the key for quality products. But what about testing in a Front-end environment? How do you guys write your tests for a responsive page or...

  • Getting Dicey With Flexbox

    What if you could build complex CSS layouts in minutes? Flexbox is a new CSS layout spec that makes it easy to construct dynamic layouts. With flexbox, vertical centering, same-height columns, reordering, and direction agnosticism are a piece of cake. There's a popular myth floating around that...