Dave Hoernig

Director of Software Engineering

What is a Canonical URL and Why Should I Care?

A canonical URL or “canonical link” is an HTML element that helps search engines avoid the appearance of duplicate content. It does this by identifying a preferred version of a web page. Using canonical URLs improves your site’s SEO and makes searching the site easier for your visitors. The canonical link appears in the head section of a web page and looks like this:

<link rel=”canonical” href=”http://www.yoursite.com/page-path/page-title/” />

How it works

Imagine you’re throwing a party at your home and you provide directions to your guests. (I recognize that nowadays people will just plug your address into their navigator, but my father refuses to use such technology and still prefers written directions and paper maps.) Knowing that your guests will be coming from different starting points, you provide a different set of directions whether they are coming from the north, east, south, or west. Each set of directions presents a differt route, but each ends up at your house.

Now consider that you publish a news story to your website, and your website allows your visitors different paths to get to news stories. One path may be to navigate to a menu choice “News” and click the link to your story. Another might be to click a link from a section titled “Latest News” on your home page. A third might be that your visitor navigated to some other page and saw the link to your news story in a side bar of related content. This could result in three different URLs:

No matter how visitors navigate to your news story, they will end up reading the same content, even if the URL and the appearance of the web page around the storyare different based on how they got there. Likewise, the different directions you offer your party guests will result in them all arriving at your home regardless of which route they took. The directions you provided your guests are like your web pages and your home address is like the canonical URL! There are different ways to get there, but only one home. Following through with the news story example, each of the pages above should have the same canonical URL. It might look like this:

<link rel=”canonical” href=”http://www.yoursite.com/news/archives/story-title/” />

Search engines crawl through links on your site just like humans only [very much] faster. That means that Google will find all three paths to your news story just as visitors will. Should it show all three results? No, instead when it sees the canonical URL – common to all three pages – Google presents that one. In doing so, Google avoids the appearance of duplicate content and your website visitors are not confused by multiple links to the same story. That’s why canonical URLs are important.

Historical footnote

The canonical link element was introduced in 2009 by consensus among the major search engines Google, Yahoo! and Bing. It was formally added as an HTML standard in 2012 and is now an expected feature of all modern content management systems.

 

Learning Coldfusion in 2017

If you’re a young programmer like me, chances are you’ve never worked with ColdFusion before. As a 19 year old programmer in 2017, I have worked extensively with Python, and heard about many other popular programming languages such as C, C++, PHP, Java, JavaScript, R, C#, HTML, and Swift. But until I started interning at Matrix Group, ColdFusion was nowhere near my radar, and it felt random.

At my first look at ColdFusion code, it looked like a mess of colors, words, and symbols. After learning the basics of the language, I figured out how to output statements, set variables, create and evaluate functions, manipulate numeric values and strings. Yet, the code was still a mess that I could not make sense of.

In the midst of struggling with syntax and usage errors, what I found was lacking in ColdFusion was FAQs. It was difficult to find examples of code that caused or resolved errors, and there was not an expansive online community of users, like many of the other programming languages have, that would lend value and importance to the language. This was not a surprise considering its current use and absence of adoption.

However, the support that was available was remarkably clear and helpful! The ColdFusion documentation was easy to navigate and easy to understand as it documented changes through all its version updates – Adobe did a great job with that! There were even many blogs that aimed to teach ColdFusion from the basics.

I realize now that the greatest challenge was really in understanding the structure of the code I was working with. ColdFusion requires certain “setting” files and “main page” files that are integral to the functionality of the language – it brings the entire program together. This hierarchy can be tedious, and in my circumstance it was intense! But, it was also the key to finally recognizing the purpose of ColdFusion which further led to a deeper understanding of how it worked.

From its simple function as a scripting language, to the functions it offers as a programming language, to its ability to elegantly interpret a language similar to JavaScript in cfscript, ColdFusion is highly versatile; I can only appreciate it.

Anyone my age has probably never heard of ColdFusion. In fact, many people in the generation above mine have not heard of it. However, it was used when the internet was booming. It was the popular choice, and hence, there are many companies that have maintained their ColdFusion applications to this day. A few days ago, I was on NASA’s website. I happened to take a look at the URL and noticed that it ended with “.cfm”. HA! And right there and then I knew exactly how the site was running! It was a lightbulb moment.

At the end of this journey, I am grateful for the exposure to ColdFusion – I probably would not have had the opportunity, or realization of the language otherwise. As the language is a “fusion” of HTML and JavaScript, this was a perfect introduction and immersion in both.

As a suggestion to millennials in tech out there, don’t let ColdFusion get under your radar! The internet and technology has been, and will continue to be, a journey. The development and use of ColdFusion was an integral stepping stone as it integrated an easy way to connect HTML, databases, custom features, and other languages such as JavaScript. It helped me realize its influence during its origin in the 90’s and thus the need for such specifications in programming. Maybe you will discover another.

Did you recently learn to work with ColdFusion? What were your initial reactions?

Nick Exposito

Marketing & New Business Coordinator

Getting Things Done: How To Decide What To Do, When

When it comes to getting things done at work, how do you go about it? Do you write down a list, type it in a document, use sticky notes? What do you do to make sure you are getting things done throughout your workday?

Recently, CEO Joanna Pineda and CTO Maki Kato held a Friday Forum, which is a learning session held during lunch by one of the Matrix Group staff members, about what they’ve learned from reading the book “Getting Things Done: The Art of Stress-Free Productivity,” by David Allen. They did a great job of summarizing the information from the book, and many of their suggested approaches for how to get tasks done more quickly, efficiently, and effectively in the workplace were eye-opening to me.

My #1 takeaway: How to decide what to do, and when.

In the book, David Allen suggests asking the following questions to help you determine which tasks you should tackle at any given time:

  • How much time do you have? 2 hours? 30 minutes between meetings? All afternoon?
  • What is your context? Where are you? The office, house, car, gym, etc. and what tools do you have to use to accomplish this task?
  • What is your energy level? Maybe there’s a task that should only take you 30 minutes, but it requires a lot of mental energy, and it’s 4:30pm on a Friday. But, you have two other tasks that should only take 15 minutes each, and are easy breezy. Focus on those tasks.
  • What is the priority list? When are my deadlines? What do I need to get done this morning, today, by the end of the week, or the end of the month?

So now, at the beginning of the day, I take a look at my list and my calendar, and then ask myself these questions so I can formulate a plan of how, and when, I will knock out all of the tasks on my plate. It’s been a game-changer for my productivity.

Keep in mind that energy level is key, though! Sometimes I may have a task on my plate that will only take 30 minutes, and it’s planned into my day between my afternoon meetings, but it’s a task that takes a lot of concentration. The 2:30 slump arrives and in that state of mind the 30 minute task may take me more like 45 minutes to an hour to complete. In that case, it may be better for me to focus on one of my other 30 minute tasks that requires less mental energy.

One more quick tip I learned – review your email once an hour, not every 5 minutes, to avoid distraction.

Have you read Getting Things Done? What is one of your top productivity hacks?

Elaine Heinzman

Content Strategist and Information Architect

Creating Savvy Surveys for Better Member Feedback

Conference Attendee Feedback Here in the D.C. metro area, midsummer means high tourist season — and the middle of convention-planning season. Several of our association clients are ramping up for their annual conventions in August, September, or October, and that planning includes the convention post-mortem: Association staffs return home and look to their members, sponsors, and vendors to see what went right–and wrong–at this year’s meeting.  

Associations Now recently shared ideas for questions that are often missing from post-convention surveys. As someone who’s attended conferences on user experience, content strategy, and journalism, I’d love it if the folks behind the conventions would prompt us attendees with more specific questions about why we even went in the first place. Associations Now says the reason we go is primarily “to make connections and get practical ideas that [we] can implement once [we’re] back in the office,” but is that always the case?

Here are some other suggested questions that can help to give your organization better insight:

  • What were your top goals heading into the conference? Encourage attendees to get specific about why they registered in the first place or what they wanted to achieve, like sitting in on a certain workshop, learning about a new tool, or getting warm introductions to potential clients.
  • How well were you able to meet those goals? Do attendees express frustration about missing multiple sessions because they were programmed within the same time slot? Did they have a hard time getting into a really crowded happy hour event? The answers here can give you insight into how you might adjust the schedule for next time.
  • What sessions/events did you find the most useful for your goals? For making connections with people? These questions drill down into what worked and what didn’t. If a once-popular event drew little traffic this year, it’s time to rethink repeating it next year.
  • What were the most meaningful conversations that you had? What were the most meaningful connections that you made? These questions can be a way to get the pulse on what people were most interested in or concerned about. Maybe it’s an industry-wide issue, or maybe it was a subject specific to the convention.

To make it easier for people to answer these questions, make sure to create boxes that allow a greater number of characters (for the more long-winded respondents) and that use a larger, sans serif font.

And it’s always nice to offer an incentive for folks to complete the survey, like a discount code for a webinar or a chance to a win free or discounted conference registration for next time.

What other questions do you think should always be asked post-conference?

Alan Gunn

Programmer

Tracking To Do Items In CF Comment Code using CFEclipse TODO

CFEclipse TODO tasks and custom tasks

While developing applications I’m always dumping code to the screen in order to troubleshoot, and CFEclipse TODO makes this more convenient for me.

The TODO feature allows you to track items on your “to-do list” in the comments of your code.

Example of CF comment code

In the task-list view, you can track and view any comment that contains the string TODO:. From the task view you can double-click on the task, and the relevant file will open up in the editor.

CF Task list

Another powerful feature with CFEclipse tasks is the ability to create custom tasks. I’ve created a custom task, CFDUMP:, with a high priority (Note the red exclamation point in above task list).

As in the case of TODO:, you can track and view in the task-list view any comment that contains the string CFDUMP:.

CF Comment string

Now I can keep track of all the code dumps I have in my code, which lets me remove them before an application is passed off to the client for review.

I hope this quick review makes it easier for you to start creating and tracking your tasks.