From d9502856dca5b3696d112b1b74067a21d8b90c6e Mon Sep 17 00:00:00 2001 From: Michael Q Larson Date: Sun, 23 Nov 2014 15:08:46 -0600 Subject: [PATCH] SEO improvements suggested by Mark --- app.js | 1 + controllers/challenges.js | 2 +- controllers/contact.js | 2 +- controllers/home.js | 2 +- controllers/resources.js | 13 ++++++++++--- controllers/user.js | 6 +++--- robots.txt => public/robots.txt | 0 sitemap.xml => public/sitemap.xml | 0 views/about.jade | 4 ++++ views/home.jade | 6 +++--- views/partials/faq.jade | 4 ++-- 11 files changed, 26 insertions(+), 14 deletions(-) rename robots.txt => public/robots.txt (100%) rename sitemap.xml => public/sitemap.xml (100%) create mode 100644 views/about.jade diff --git a/app.js b/app.js index 329529b823..02bbb774fb 100644 --- a/app.js +++ b/app.js @@ -129,6 +129,7 @@ app.get( '/resources/interview-questions', resourcesController.interviewQuestions); app.get('/learn-to-code', resourcesController.learnToCode); +app.get('/about', resourcesController.about); app.get('/login', userController.getLogin); app.post('/login', userController.postLogin); app.get('/logout', userController.logout); diff --git a/controllers/challenges.js b/controllers/challenges.js index e997a2bb95..71b86c1bd1 100644 --- a/controllers/challenges.js +++ b/controllers/challenges.js @@ -14,7 +14,7 @@ exports.returnChallenge = function(req, res, next) { next(err); } res.render('challenges/show', { - title: 'Challenge', + title: 'Challenge: ' + c.name, name: c.name, video: c.video, time: c.time, diff --git a/controllers/contact.js b/controllers/contact.js index a2f8b73ca7..a66424d6f8 100644 --- a/controllers/contact.js +++ b/controllers/contact.js @@ -15,7 +15,7 @@ var transporter = nodemailer.createTransport({ exports.getContact = function(req, res) { res.render('contact', { - title: 'Contact' + title: 'Free Code Work for Nonprofits Project Submission Page' }); }; diff --git a/controllers/home.js b/controllers/home.js index 0329833889..f1bab63f94 100644 --- a/controllers/home.js +++ b/controllers/home.js @@ -13,7 +13,7 @@ exports.index = function(req, res) { } } else { res.render('home', { - title: 'Home' + title: 'Learn to Code and Become a Software Engineer' }); } }; \ No newline at end of file diff --git a/controllers/resources.js b/controllers/resources.js index bb3386dd3e..f1168e2cba 100644 --- a/controllers/resources.js +++ b/controllers/resources.js @@ -4,8 +4,15 @@ */ exports.learnToCode = function(req, res) { - res.render('learn-to-code'); - title: 'Learn to Code' + res.render('learn-to-code', { + title: 'Learn to Code' + }); +} + +exports.about = function(req, res) { + res.render('about', { + title: 'Who We Are' + }); } exports.interviewQuestions = function(req, res) { @@ -19,7 +26,7 @@ exports.interviewQuestions = function(req, res) { answer: "O(1)" }, { - question: "Time Complexity of Pushing and Poping on Stack", + question: "Time Complexity of Pushing and Popping on Stack", answer: "O(1)" }, { diff --git a/controllers/user.js b/controllers/user.js index e45bb041c4..79969f5a45 100644 --- a/controllers/user.js +++ b/controllers/user.js @@ -14,7 +14,7 @@ var secrets = require('../config/secrets'); exports.getLogin = function(req, res) { if (req.user) return res.redirect('/'); res.render('account/login', { - title: 'Login' + title: 'Free Code Camp Login' }); }; @@ -68,7 +68,7 @@ exports.logout = function(req, res) { exports.getSignup = function(req, res) { if (req.user) return res.redirect('/'); res.render('account/signup', { - title: 'Create Account' + title: 'Create Your Free Code Camp Account' }); }; @@ -118,7 +118,7 @@ exports.postSignup = function(req, res, next) { exports.getAccount = function(req, res) { res.render('account/profile', { - title: 'Account Management' + title: 'Manage your Free Code Camp Account' }); }; diff --git a/robots.txt b/public/robots.txt similarity index 100% rename from robots.txt rename to public/robots.txt diff --git a/sitemap.xml b/public/sitemap.xml similarity index 100% rename from sitemap.xml rename to public/sitemap.xml diff --git a/views/about.jade b/views/about.jade new file mode 100644 index 0000000000..b24f3a7fca --- /dev/null +++ b/views/about.jade @@ -0,0 +1,4 @@ +extends layout +block content + h1 About Free Code Camp + h2 this is a placeholder page. Our about us page is coming soon. \ No newline at end of file diff --git a/views/home.jade b/views/home.jade index e5ce4e3de9..26aaf9b79b 100644 --- a/views/home.jade +++ b/views/home.jade @@ -10,19 +10,19 @@ block content .col-xs-12.col-sm-12.col-md-4 h3.delay-3.animated.pulse Technical Mastery .negative-10 - span.landing-icon.ion-settings.text-primary + span.landing-icon.ion-settings.text-primary(title='Learn to code') .negative-10 p You'll learn to code by pair programming (where two people code together on one computer) through our coding challenges. .col-xs-12.col-sm-12.col-md-4 h3.delay-4.animated.pulse Unique Portfolio Projects .negative-10 - span.landing-icon.ion-social-github.text-primary + span.landing-icon.ion-social-github.text-primary(title='Build a portfolio of apps for nonprofits') .negative-10 p You'll use your new coding skills to build software solutions for nonprofits. Your portfolio projects will have grateful users. .col-xs-12.col-sm-12.col-md-4 h3.delay-5.animated.pulse Glowing References .negative-10 - span.landing-icon.ion-thumbsup.text-primary + span.landing-icon.ion-thumbsup.text-primary(title='Get great references and connections to help you get a job') .negative-10 p You'll gain the respect of your peers and the nonprofits you help. These types of connections are critical to your job search. a.btn.btn-cta.btn-primary(href="/login") Sign in now to start coding (it's free) diff --git a/views/partials/faq.jade b/views/partials/faq.jade index 285c7f375e..3c18625438 100644 --- a/views/partials/faq.jade +++ b/views/partials/faq.jade @@ -57,11 +57,11 @@ ul p We love Python and Ruby. But even if you learn them, you'll still need to learn JavaScript. JavaScript is the most important language of all - it's the language of web browsers. It's also the most popular language. br - img.img-center.img-responsive(src="http://dberkholz-media.redmonk.com/dberkholz/files/2014/04/github_new_repos-custom.png", style="max-height: 300px;") + img.img-center.img-responsive(src="https://www.evernote.com/shard/s116/sh/0f511118-2f92-49f0-973d-730aa57d73a0/11899e5253e998c3a5d0ee731847fba8/deep/0/github_new_repos-custom.png-(1387-1255).png", style="max-height: 355px;" alt="A chart showing the volume of new GitHub repositories by year, with JavaScript growing and most languages declining.") h2 Will I be ready to get a software engineer job after this? ul p At the end of Free Code Camp, you will have pair programmed around 1,000 hours with dozens of other students, built a portfolio of projects that people are actively using, and a roster of glowing references from nonprofits you've helped. On average, 75% of bootcamp graduates get software engineering jobs within 6 months, and earn an average annual salary of $76,000. - img.img-center.img-responsive(src="https://www.evernote.com/shard/s116/sh/4bb05639-d86c-4c15-b3a8-e4a43fa22d89/7cf00ed01124fac6e6741b97f8fb9e6f/deep/0/https---www.coursereport.com-2014-graduate-survey.pdf.png") + img.img-center.img-responsive(src="https://www.evernote.com/shard/s116/sh/4bb05639-d86c-4c15-b3a8-e4a43fa22d89/7cf00ed01124fac6e6741b97f8fb9e6f/deep/0/https---www.coursereport.com-2014-graduate-survey.pdf.png" alt="A chart showing the average earnings of coding bootcamp graduates") h2 Is this really free? Do you claim part of my first year's salary like some bootcamps do? ul p Our name is Free Code Camp. We are a free code camp. If you had to pay us (or sign over future earnings), we'd have to change our name. And we are not going to do that.