---
# System prepended metadata

title: Learning to Program

---

# Learning to Program
All credit to [How to Code a Website: A Step-by-Step Guide](https://bootcamp.cvn.columbia.edu/blog/how-to-code-a-website/#1636662022939-9c521214-7fc2) by 

To build websites, you can use web developers like WordPress but they'll cost you - so I'll do it myself

## 9 Steps to Building a Website from Scratch

 1. Define Your Site
    -  Mission Statment + Inviting Home Page

2. Choose a Server and Domain Name
    - Be simple and clear (aydencavill.com)
    - Pick correct domain for purpose of my site
        - [Better Business Bureau](https://www.bbb.org/)
    - $2-$20 a year for a domain name
3. Learn Web Development Languages
    - HTML (Hypertext Machine Language): determines where elements are placed on page
        - 'hypertext' refers to links that connect pages
        - 'markup' feature is to explain elements of each page
        - elements are defined by 'tags'
        - includes instrucion btwn '<>' punctuation
            ```
            <a>: link
            <body>: body of a document
            <div>: section of a document
            <header>: header of a document
            <p>: paragraph
            <title>: document title
            <img>: image
            ```
        - web pages are built by turning these tags into code
    - CSS: styles page
        - including colors, fonts, overall aesthetic
        - "Properties, rules, and selectors are among the first things you’ll learn in CSS"
            - Selectors pinpoint HTML element that is being styled
        - [a sound beginner’s guide](https://developer.mozilla.org/en-US/docs/Learn/CSS)
    - Java
        - the most used web programming language for 9 consecutive years
        - "...brings websites to life, adding interactive elements, animations, photo slideshows, automated survey forms, and much more" but more challenging
        - some similar terminology as python
        - [become a front end developer](https://bootcamp.cvn.columbia.edu/blog/become-a-front-end-developer/)
    - Python
        - Considered relatively easy to learn, relies on English keywords + recognizable syntax
        - Google + Youtube employ it
        - Another developer built large online pharmacy w Python
5. Use [Bootstrap](https://getbootstrap.com/)
    - "a feature-rich framework that shortens and eases the process of website-building"
    - Created at Twitter
    -  "contains a collection of prebuilt CSS and JavaScript code that developers can paste directly into their programs"
    -  "Developers also can download prebuilt website themes, dashboards, and a host of other components"
7. Choose Your Design
    - "Websites should be bright, engaging, and easy to use"
    - Can start w templates from WordPress, Bootstrap, etc.
9. Create a Sitemap
    - Every site needs one to list supporting pages and subpages
Example:
![](https://i.imgur.com/jYWU6jd.png)
11. Add Content and Images
    - Add your best, most current content
    - Don't overload
    - Update regularly
    - Users value experience
13. Optimize for SEO (Search Engine Optimization)
    - Internet ranking system
    - The better its SEO performance, the higher it'll rank on internet searches
    - Steps to boost performance
        1. Make sure to have relevant key words throughout site
        2. "Every page should have a title and description, and images should carry captions"
        3. Research terms + phrases users search + apply them to your website
            -  "For instance, if you’re opening a flower shop in New York, make your site relevant to searches for “Best flower shops in New York,” or “New York flower shops with free delivery.”
    - [SEO Starter Guide](https://developers.google.com/search/docs/beginner/seo-starter-guide)
15. Optimize Your Site for Mobile Use
    - Over 1/2 web traffic is delivered to mobile devices
    - Responsive Design: adjusts content to match user's screen size
    - WordPress + others have templates to retrofit
    - [Mobile-Friendly Test Tool](https://support.google.com/webmasters/answer/6352293?hl=en)

