One place for hosting & domains

      June 2019

      Python Machine Learning Projects — A DigitalOcean eBook


      Download the Complete eBook!

      Machine Learning Projects: Python eBook in EPUB format

      Machine Learning Projects: Python eBook in PDF format

      Machine Learning Projects: Python eBook in Mobi format

      Introduction to the eBook

      As machine learning is increasingly leveraged to find patterns, conduct analysis, and make decisions — sometimes without final input from humans who may be impacted by these findings — it is crucial to invest in bringing more stakeholders into the fold. This book of Python projects in machine learning tries to do just that: to equip the developers of today and tomorrow with tools they can use to better understand, evaluate, and shape machine learning to help ensure that it is serving us all.

      This book will set you up with a Python programming environment if you don’t have one already, then provide you with a conceptual understanding of machine learning in the chapter “An Introduction to Machine Learning.” What follows next are three Python machine learning projects. They will help you create a machine learning classifier, build a neural network to recognize handwritten digits, and give you a background in deep reinforcement learning through building a bot for Atari.

      These chapters originally appeared as articles on DigitalOcean Community, written by members of the international software developer community. If you are interested in contributing to this knowledge base, consider proposing a tutorial to the Write for DOnations program. DigitalOcean offers payment to authors and provides a matching donation to tech-focused nonprofits.

      Other Books in this Series

      If you are learning Python or are looking for reference material, you can download our free Python eBook, How To Code in Python 3

      For other programming languages and DevOps engineering articles, check out our knowledge base of over 2,100 tutorials.

      Download the eBook

      You can download the eBook in either the EPUB, PDF, or Mobi format by following the links below.

      Download the Complete eBook!

      Machine Learning Projects: Python eBook in EPUB format

      Machine Learning Projects: Python eBook in PDF format

      Machine Learning Projects: Python eBook in Mobi format



      Source link

      How To Configure a Galera Cluster with MariaDB on Ubuntu 18.04 Servers


      The author selected the Free and Open Source Fund to receive a donation as part of the Write for DOnations program.

      Introduction

      Clustering adds high availability to your database by distributing changes to different servers. In the event that one of the instances fails, others are quickly available to continue serving.

      Clusters come in two general configurations, active-passive and active-active. In active-passive clusters, all writes are done on a single active server and then copied to one or more passive servers that are poised to take over only in the event of an active server failure. Some active-passive clusters also allow SELECT operations on passive nodes. In an active-active cluster, every node is read-write and a change made to one is replicated to all.

      MariaDB is an open source relational database system that is fully compatible with the popular MySQL RDBMS system. You can read the official documentation for MariaDB at this page. Galera is a database clustering solution that enables you to set up multi-master clusters using synchronous replication. Galera automatically handles keeping the data on different nodes in sync while allowing you to send read and write queries to any of the nodes in the cluster. You can learn more about Galera at the official documentation page.

      In this guide, you will configure an active-active MariaDB Galera cluster. For demonstration purposes, you will configure and test three Ubuntu 18.04 Droplets that will act as nodes in the cluster. This is the smallest configurable cluster.

      Prerequisites

      To follow along, you will need a DigitalOcean account, in addition to the following:

      • Three Ubuntu 18.04 Droplets with private networking enabled, each with a non-root user with sudo privileges.

      While the steps in this tutorial have been written for and tested against DigitalOcean Droplets, much of them should also be applicable to non-DigitalOcean servers with private networking enabled.

      Step 1 — Adding the MariaDB Repositories to All Servers

      In this step, you will add the relevant MariaDB package repositories to each of your three servers so that you will be able to install the right version of MariaDB used in this tutorial. Once the repositories are updated on all three servers, you will be ready to install MariaDB.

      One thing to note about MariaDB is that it originated as a drop-in replacement for MySQL, so in many configuration files and startup scripts, you’ll see mysql rather than mariadb. For consistency’s sake, we will use mysql in this guide where either could work.

      In this tutorial, you will use MariaDB version 10.4. Since this version isn’t included in the default Ubuntu repositories, you’ll start by adding the external Ubuntu repository maintained by the MariaDB project to all three of your servers.

      Note: MariaDB is a well-respected provider, but not all external repositories are reliable. Be sure to install only from trusted sources.

      First, you’ll add the MariaDB repository key with the apt-key command, which the APT package manager will use to verify that the package is authentic:

      • sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

      Once you have the trusted key in the database, you can add the repository with the following command:

      • sudo add-apt-repository 'deb [arch=amd64] http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.4/ubuntu bionic main'

      After adding the repository, run apt update in order to include package manifests from the new repository:

      Once you have completed this step on your first server, repeat for your second and third servers.

      Now that you have successfully added the package repository on all three of your servers, you're ready to install MariaDB in the next section.

      Step 2 — Installing MariaDB on All Servers

      In this step, you will install the actual MariaDB packages on your three servers.

      Beginning with version 10.1, the MariaDB Server and MariaDB Galera Server packages are combined, so installing mariadb-server will automatically install Galera and several dependencies:

      • sudo apt install mariadb-server

      You will be asked to confirm whether you would like to proceed with the installation. Enter yes to continue with the installation.

      From MariaDB version 10.4 onwards, the root MariaDB user does not have a password by default. To set a password for the root user, start by logging into MariaDB:

      Once you're inside the MariaDB shell, change the password by executing the following statement:

      • set password = password("your_password");

      You will see the following output indicating that the password was set correctly:

      Output

      Query OK, 0 rows affected (0.001 sec)

      Exit the MariaDB shell by running the following command:

      If you would like to learn more about SQL or need a quick refresher, check out our MySQL tutorial.

      You now have all of the pieces necessary to begin configuring the cluster, but since you'll be relying on rsync in later steps, make sure it's installed:

      This will confirm that the newest version of rsync is already available or prompt you to upgrade or install it.

      Once you have installed MariaDB and set the root password on your first server, repeat these steps for your other two servers.

      Now that you have installed MariaDB successfully on each of the three servers, you can proceed to the configuration step in the next section.

      Step 3 — Configuring the First Node

      In this step you will configure your first node. Each node in the cluster needs to have a nearly identical configuration. Because of this, you will do all of the configuration on your first machine, and then copy it to the other nodes.

      By default, MariaDB is configured to check the /etc/mysql/conf.d directory to get additional configuration settings from files ending in .cnf. Create a file in this directory with all of your cluster-specific directives:

      • sudo nano /etc/mysql/conf.d/galera.cnf

      Add the following configuration into the file. The configuration specifies different cluster options, details about the current server and the other servers in the cluster, and replication-related settings. Note that the IP addresses in the configuration are the private addresses of your respective servers; replace the highlighted lines with the appropriate IP addresses.

      /etc/mysql/conf.d/galera.cnf

      [mysqld]
      binlog_format=ROW
      default-storage-engine=innodb
      innodb_autoinc_lock_mode=2
      bind-address=0.0.0.0
      
      # Galera Provider Configuration
      wsrep_on=ON
      wsrep_provider=/usr/lib/galera/libgalera_smm.so
      
      # Galera Cluster Configuration
      wsrep_cluster_name="test_cluster"
      wsrep_cluster_address="gcomm://First_Node_IP,Second_Node_IP,Third_Node_IP"
      
      # Galera Synchronization Configuration
      wsrep_sst_method=rsync
      
      # Galera Node Configuration
      wsrep_node_address="This_Node_IP"
      wsrep_node_name="This_Node_Name"
      
      • The first section modifies or re-asserts MariaDB/MySQL settings that will allow the cluster to function correctly. For example, Galera won’t work with MyISAM or similar non-transactional storage engines, and mysqld must not be bound to the IP address for localhost. You can learn about the settings in more detail on the Galera Cluster system configuration page.
      • The "Galera Provider Configuration" section configures the MariaDB components that provide a WriteSet replication API. This means Galera in your case, since Galera is a wsrep (WriteSet Replication) provider. You specify the general parameters to configure the initial replication environment. This doesn't require any customization, but you can learn more about Galera configuration options.
      • The "Galera Cluster Configuration" section defines the cluster, identifying the cluster members by IP address or resolvable domain name and creating a name for the cluster to ensure that members join the correct group. You can change the wsrep_cluster_name to something more meaningful than test_cluster or leave it as-is, but you must update wsrep_cluster_address with the private IP addresses of your three servers.
      • The "Galera Synchronization Configuration" section defines how the cluster will communicate and synchronize data between members. This is used only for the state transfer that happens when a node comes online. For your initial setup, you are using rsync, because it's commonly available and does what you'll need for now.
      • The "Galera Node Configuration" section clarifies the IP address and the name of the current server. This is helpful when trying to diagnose problems in logs and for referencing each server in multiple ways. The wsrep_node_address must match the address of the machine you're on, but you can choose any name you want in order to help you identify the node in log files.

      When you are satisfied with your cluster configuration file, copy the contents into your clipboard, save and close the file. With the nano text editor, you can do this by pressing CTRL+X, typing y, and pressing ENTER.

      Now that you have configured your first node successfully, you can move on to configuring the remaining nodes in the next section.

      Step 4 — Configuring the Remaining Nodes

      In this step, you will configure the remaining two nodes. On your second node, open the configuration file:

      • sudo nano /etc/mysql/conf.d/galera.cnf

      Paste in the configuration you copied from the first node, then update the Galera Node Configuration to use the IP address or resolvable domain name for the specific node you're setting up. Finally, update its name, which you can set to whatever helps you identify the node in your log files:

      /etc/mysql/conf.d/galera.cnf

      . . .
      # Galera Node Configuration
      wsrep_node_address="This_Node_IP"
      wsrep_node_name="This_Node_Name"
      . . .
      

      Save and exit the file.

      Once you have completed these steps, repeat them on the third node.

      You're almost ready to bring up the cluster, but before you do, make sure that the appropriate ports are open in your firewall.

      Step 5 — Opening the Firewall on Every Server

      In this step, you will configure your firewall so that the ports required for inter-node communication are open. On every server, check the status of the firewall by running:

      In this case, only SSH is allowed through:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

      Since only SSH traffic is permitted in this case, you’ll need to add rules for MySQL and Galera traffic. If you tried to start the cluster, it would fail because of firewall rules.

      Galera can make use of four ports:

      • 3306 For MySQL client connections and State Snapshot Transfer that use the mysqldump method.
      • 4567 For Galera Cluster replication traffic. Multicast replication uses both UDP transport and TCP on this port.
      • 4568 For Incremental State Transfer.
      • 4444 For all other State Snapshot Transfer.

      In this example, you’ll open all four ports while you do your setup. Once you've confirmed that replication is working, you'd want to close any ports you're not actually using and restrict traffic to just servers in the cluster.

      Open the ports with the following command:

      • sudo ufw allow 3306,4567,4568,4444/tcp
      • sudo ufw allow 4567/udp

      Note: Depending on what else is running on your servers you might want to restrict access right away. The UFW Essentials: Common Firewall Rules and Commands guide can help with this.

      After you have configured your firewall on the first node, create the same firewall settings on the second and third node.

      Now that you have configured the firewalls successfully, you're ready to start the cluster in the next step.

      Step 6 — Starting the Cluster

      In this step, you will start your MariaDB cluster. To begin, you need to stop the running MariaDB service so that you can bring your cluster online.

      Stop MariaDB on All Three Servers

      Use the following command on all three servers to stop MariaDB so that you can bring them back up in a cluster:

      • sudo systemctl stop mysql

      systemctl doesn't display the outcome of all service management commands, so to be sure you succeeded, use the following command:

      • sudo systemctl status mysql

      If the last line looks something like the following, the command was successful:

      Output

      . . . Apr 26 03:34:23 galera-node-01 systemd[1]: Stopped MariaDB 10.4.4 database server.

      Once you've shut down mysql on all of the servers, you're ready to proceed.

      Bring Up the First Node

      To bring up the first node, you'll need to use a special startup script. The way you've configured your cluster, each node that comes online tries to connect to at least one other node specified in its galera.cnf file to get its initial state. Without using the galera_new_cluster script that allows systemd to pass the --wsrep-new-cluster parameter, a normal systemctl start mysql would fail because there are no nodes running for the first node to connect with.

      This command will not display any output on successful execution. When this script succeeds, the node is registered as part of the cluster, and you can see it with the following command:

      • mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"

      You will see the following output indicating that there is one node in the cluster:

      Output

      +--------------------+-------+ | Variable_name | Value | +--------------------+-------+ | wsrep_cluster_size | 1 | +--------------------+-------+

      On the remaining nodes, you can start mysql normally. They will search for any member of the cluster list that is online, so when they find one, they will join the cluster.

      Bring Up the Second Node

      Now you can bring up the second node. Start mysql:

      • sudo systemctl start mysql

      No output will be displayed on successful execution. You will see your cluster size increase as each node comes online:

      • mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"

      You will see the following output indicating that the second node has joined the cluster and that there are two nodes in total.

      Output

      +--------------------+-------+ | Variable_name | Value | +--------------------+-------+ | wsrep_cluster_size | 2 | +--------------------+-------+

      Bring Up the Third Node

      It's now time to bring up the third node. Start mysql:

      • sudo systemctl start mysql

      Run the following command to find the cluster size:

      • mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"

      You will see the following output, which indicates that the third node has joined the cluster and that the total number nodes in the cluster is three.

      Output

      +--------------------+-------+ | Variable_name | Value | +--------------------+-------+ | wsrep_cluster_size | 3 | +--------------------+-------+

      At this point, the entire cluster is online and communicating successfully. Next, you can ensure the working setup by testing replication in the next section.

      Step 7 — Testing Replication

      You've gone through the steps up to this point so that your cluster can perform replication from any node to any other node, known as active-active replication. Follow the steps below to test and see if the replication is working as expected.

      Write to the First Node

      You'll start by making database changes on your first node. The following commands will create a database called playground and a table inside of this database called equipment.

      • mysql -u root -p -e 'CREATE DATABASE playground;
      • CREATE TABLE playground.equipment ( id INT NOT NULL AUTO_INCREMENT, type VARCHAR(50), quant INT, color VARCHAR(25), PRIMARY KEY(id));
      • INSERT INTO playground.equipment (type, quant, color) VALUES ("slide", 2, "blue");'

      In the previous command, the CREATE DATABASE statement creates a database named playground. The CREATE statement creates a table named equipment inside the playground database having an auto-incrementing identifier column called id and other columns. The type column, quant column, and color column are defined to store the type, quantity, and color of the equipment respectively. The INSERT statement inserts an entry of type slide, quantity 2 and color blue.

      You now have one value in your table.

      Read and Write on the Second Node

      Next, look at the second node to verify that replication is working:

      • mysql -u root -p -e 'SELECT * FROM playground.equipment;'

      If replication is working, the data you entered on the first node will be visible here on the second:

      Output

      +----+-------+-------+-------+ | id | type | quant | color | +----+-------+-------+-------+ | 1 | slide | 2 | blue | +----+-------+-------+-------+

      From this same node, you can write data to the cluster:

      • mysql -u root -p -e 'INSERT INTO playground.equipment (type, quant, color) VALUES ("swing", 10, "yellow");'

      Read and Write on the Third Node

      From the third node, you can read all of this data by querying the table again:

      • mysql -u root -p -e 'SELECT * FROM playground.equipment;'

      You will see the following output showing the two rows:

      Output

      +----+-------+-------+--------+ | id | type | quant | color | +----+-------+-------+--------+ | 1 | slide | 2 | blue | | 2 | swing | 10 | yellow | +----+-------+-------+--------+

      Again, you can add another value from this node:

      • mysql -u root -p -e 'INSERT INTO playground.equipment (type, quant, color) VALUES ("seesaw", 3, "green");'

      Read on the First Node:

      Back on the first node, you can verify that your data is available everywhere:

      • mysql -u root -p -e 'SELECT * FROM playground.equipment;'

      You will see the following output which indicates that the rows are available on the first node.

      Output

      +----+--------+-------+--------+ | id | type | quant | color | +----+--------+-------+--------+ | 1 | slide | 2 | blue | | 2 | swing | 10 | yellow | | 3 | seesaw | 3 | green | +----+--------+-------+--------+

      You've verified successfully that you can write to all of the nodes and that replication is being performed properly.

      Conclusion

      At this point, you have a working three-node Galera test cluster configured. If you plan on using a Galera cluster in a production situation, it’s recommended that you begin with no fewer than five nodes.

      Before production use, you may want to take a look at some of the other state snapshot transfer (sst) agents like xtrabackup, which allows you to set up new nodes very quickly and without large interruptions to your active nodes. This does not affect the actual replication, but is a concern when nodes are being initialized.

      You might also be interested in other clustering solutions such as MySQL cluster, in which case you can check out our tutorial How To Create a Multi-Node MySQL Cluster on Ubuntu 18.04 tutorial.



      Source link

      How to Create a  Freelance Writer Website That Actually Gets You Writing Gigs


      The future is freelance. Did you know? By 2020, 50% of the U.S. workforce will do some type of freelance work — and it’s predicted that by 2027, freelancers will make up the majority. Whether you work exclusively freelance or take on additional side projects in conjunction with your full-time work, you’re joining an ever-growing population of successful, flexible, untethered, and creative craftspeople.

      What’s more, the innovation and growth of technology have made the work environment more fruitful for freelancers: 64% of freelancers found work online — a 22-point increase in the last five years.

      And you freelance writers, bloggers, and web content writers — we see you. We know you’re out there, coloring the world with your beautiful language and lightbulb ideas.

      But because freelancers must do their own marketing legwork, you need to take advantage of every tool available to you in building a prolific writing business. One of the biggest weapons in your arsenal? A relevant web presence. Forget scouring the wanted ads to find work — establishing an online presence and showing off a strong virtual CV is vital for getting seen and earning $$$.

      How to put your best foot — and word — forward online? A top-of-the-class website. For writers, a killer freelance writer website is a make-it-or-break-it tool for getting you leads on quality writing gigs. And we’re going to show you how to do it. Here’s what we’ll cover in this guide (in case you want to jump ahead):

      With a website, you can flaunt your talent and personality, create sustainable sales, build your writing portfolio, and connect with potential and return customers, building your business and financial success — all in one place.

      Build Your Online Portfolio with DreamHost

      We make sure your freelance writing website is fast, secure and always up so you never miss a gig. Plans start at $2.59/mo.

      Why is Having a Good Freelance Writer Website Important?

      You’re a writer — you know, good ‘ol pen and paper. Why do you even need a website in the first place? With a well-built freelance writer website, you can:

      • Showcase Your Online Portfolio. One of the most significant advantages of creating a freelance writer website is having a living, breathing portfolio that is easily accessible online. Prospective clients can access your work, and through a broad range of content, get a feel for your style, voice, and writing ability. They can view your previous work and a wealth of relevant content that will help them trust their business to you.
      • Increase Brand Visibility. Your website is a visible showcase of your writing ability and a crucial tool for establishing awareness of your brand. With a powerful online presence, visitors don’t have to go digging around to discover info on your offerings. Not only do you make it possible for people to find you online, but your website also helps you build likability. With great content and engaging content, visitors start to care about you and your work and will entertain the prospect of working with you. It illustrates your legitimacy as a writing professional and helps you position yourself as an authority in your field. By making your work accessible, you broaden your visibility and provide social proof which, in turn, increases your chances of getting rewarding freelance writing work.
      • Strengthen Brand Legitimacy. Let’s be real. Companies without a website or an internet presence tend to raise some red flags in the e-commerce ecosystem, right? Everything’s on the web. These days, a dot com is an essential requirement in the biz world. If internet users can’t find your virtual corner of the web, customers seeking out a particular product or service will instantly think: can we trust that business if they’re not online in an everything-digital age?

      It’s a no-brainer that if you want to do business and market a product or service in the world we live in, potential clients need to be able to find you with just a couple of clicks from their browser. So on a very basic level, having a website helps establish your brand as a legitimate business, rather than just operating amateur or letting customers rely on what they gather from your social media presence. What’s more, the better you are at outfitting your site with great content and strong visuals, the more that legitimacy will increase and work in your favor. To bless your bottom line and earn trust from internet visitors, it’s crucial to demonstrate not only your tech-savvy web skills but also your ability to establish a professional and valuable web presence.

      We know you’re wondering: Do I have to have a freelance writer website if I’m just getting started? The short answer: No. BUT — having an established site for your freelance writing (your services and a showcasing portfolio) is the best way to build a marketing funnel and establish a legitimate, cohesive, and authoritative brand. It’s a clear way to put your best foot forward and secure quality writing jobs.

      OK, but hold up. It’s 2019, you say. Can’t I just use social media, like a LinkedIn company page, instead of a website to promote my writing business? Sure. But a website, even a simple one, is a good idea. With a well-established freelance writer website, you build authority as a brand, and increase your chances of getting seen by potential clients. Plus, you’ll own all the content on your site — something that isn’t always true on social media sites.

      Perhaps building a high-performing and snazzy-looking freelance writer website seems like an overwhelming task. But putting in the effort to set up a website is an investment with guaranteed returns.  A site to be admired — and get you hired.

      How to Build a Great Freelance Writer Website (7 Steps)

      Like we said, creating a great-looking freelance writer website doesn’t have to be rocket science or overly time-intensive. We’ll show you how to set up a website in seven easily-manageable steps.

      1. Brand Your Business

      Time to pick a name, business owner! If you’re branding yourself and marketing your skills, you can use your own name, but ask yourself a few of the following big-picture questions before nailing down a moniker:

      Would you ever sell your business? Even if you’re not entirely sure of your long-term business plan, you probably have an idea if you ever intend to pass the torch on your writing business or include others’ services or products in conjunction with your business.

      If you’ve entertained the idea of selling your brand one day or partnering up, don’t brand yourself with your own name. Obviously, that is unique to you and won’t transfer. Also, if your name is difficult to spell, pronounce, or remember, consider the possible confusion using your name might cost your business.

      But then again, your personal name might help brand you uniquely as potential clients can differentiate you from other common-name writing businesses. So consider your options before jumping into a brand or business name haphazardly. You never know how you’ll grow, adapt, and change in your freelance writing business. You’ll want to choose carefully in order to set yourself up for long-term success.

      Freelance writer at laptop.

      2. Choose a Content Management System

      Now that you’ve got your brand’s fancy new name tag, you need a content management system (CMS) to facilitate the creation and publication of your content on the web. The best part? You don’t have to know how to program a single line of code to use one! Take WordPress, one of the web’s most popular content management systems out there (it powers 30% of the internet!)

      With the WordPress platform, you can create and manage your web content without the pressure of a deep learning curve — you can get a website set up with little-to-no technical know-how.

      3. Register a Domain and Set up Hosting 

      OK, you’ve decided you want to use WordPress, and you’re full of great content ideas. Good to go, right? Well, first, you need to find your site a home on the web so that visitors can actually view and engage with your content. All those great ideas won’t amount to anything if your website isn’t available online. That means you need two very critical components: a domain and a hosting provider.

      A domain is the unique web address where your website can be found. This is what visitors will type into their browser to navigate to your site (for example, www.dreamhost.com). Your domain is unique to your website and should match your brand or business name. You should also consider your choice of top-level domain —  meaning .com or .blog or dot-whatever —  in order to position yourself as an authority in search engine rankings. Whatever domain name you choose, you purchase it through a registrar.

      Next, you need a hosting provider. Hosting companies sell unique-to-you plans that include space on a server so that your website has a place to live online. Without a server, your website won’t be available to visit. For the best chance at scoring quality gigs, you need a quality hosting provider.

      There are a lot of providers out there, but only DreamHost can offer you the best of the best: one-of-a-kind features, high-performance tech, and responsive support. Plus, we make things easy: domain registration and hosting services under one roof and one-click WordPress installs. With Shared Hosting, just check the “Pre-Install WordPress” box during sign-up and boom! We install it for you.

      Shared Hosting provides ambitious WordPress beginners everything they need to create a killer freelance writing website that gets them hired. Even better? Our Shared Hosting plans start at just $2.59 per month.

      DreamHost’s Shared Hosting

      4. Choose a WordPress Theme

      Time to outfit your website with a WordPress theme. The theme you select doesn’t just dictate the overall appearance of your site (though it does do that), but it also determines what sort of functionality your site will have. The right theme will allow you to control and customize your website to your exact specifications and niche. Browse the WordPress Theme Directory or search WordPress theme developers to find and install your perfect theme.

      WordPress Theme Directory

      5. Decide What Content Your Site Needs

      So what does your freelance writer website need? What are the must-have content and features relevant to your niche? Time to make a plan. While you have the freedom to customize your website according to your brand and personality, there are a few essential pages that your site should have to set you up for the best possible business success:

      • Homepage: An easy-to-navigate and attractive landing page that can direct visitors and potential clients to important parts of your website.
      • Online Portfolio: Your website should be a solid, structured way to demonstrate your skills as a professional writer. A vital feature — nay, asset —  of your website is an easy-to-find, specially-dedicated portfolio section where you can showcase relevant published work and prove your capabilities as a writer.
      • Services: Nearly 50% of website visitors check out a company’s product or services page before any other sections of the site. That’s big. What do you offer? Give potential clients a clear and detailed description of the specific writing services you offer.
      • About: Don’t be a robot behind the computer screen. Demonstrate your writing chops, let potential clients and visitors get to know you, and help them get acquainted with your unique voice with an engaging and humanizing Get-to-Know-Me section. Showcase your accomplishments and passion for what you do but also share what makes you unique.
      • Contact: How can potential clients get in touch with you? Make your contact information easy to find and use.

      Now that you’ve got your essential pages set up, you can go above and beyond to bring your freelance writer website to the next level. While you should avoid non-essentials, you can consider adding the following optional (but helpful) pages:

      • Clients: Name-dropping your current clients on your website is a great way to demonstrate social proof and establish your authority in the field. Think of it as a virtual word-of-mouth recommendation.
      Speaker, writer, and consultant Hillary Weiss proudly displays the well-known brands that believe in her work.
      • Testimonials: The power of a good review cannot be overstated, especially in an online environment. Confidently showcasing positive feedback you’ve received from clients in your field about your writing services can be great fodder for snagging new clients and more writing jobs. It’s OK to toot your own horn.
      Writer and speaker Colleen M. Story inspires confidence with a visible display of reader testimonials.
      • Blog: In addition to your portfolio, you can showcase your writing chops and your unique voice with a content-rich blog. The extra effort and value you’re providing your visitors with relevant blog content can be an investment with rich returns.
      • Resume: Allow visitors and potential clients to check out a bulleted list of your skills and achievements with an easy-to-view CV.
      • FAQs: If you want to answer potentially common questions about your work or services or provide more specific details to potential clients about what you offer, consider adding a FAQ section.
      • Downloads/Freebies: Making free, downloadable goodies available to your visitors on your site shows that you’re going above and beyond to offer value, demonstrating the high-quality nature of your freelance business.

      Lastly, consider pricing: if you want to be explicit on your site about the cost of your services, be transparent, upfront, and confident in the value of your work. Or if you have adjust-to-fit service options, you can keep costs mum and invite interested visitors to contact you for a quote.

      6. Create the Content

      Time to get creating! You know the adage: content is king. Live by it. You need to fill your website with rich content to attract traffic and prove your worthiness as a business. Fill the content on your must-have pages first, then continue to provide valuable content regularly.

      Of just as much importance as creating content is creating it smartly — meaning, using it to get found by potential clients. How to do that? Using keywords. Consider: what are relevant topics and search terms related to your field? Being smart about how you use phrasing and common search terms in your content will allow you to position yourself for good rankings and stronger search engine optimization. So do your research and incorporate common search terms into your content. Use tools like Google’s comprehensive (and free!) Keyword Planner to create high-traffic website content with smart keyword research and build a strong content marketing strategy.

      Also, consider the tone of your content. Does it appropriately and uniquely represent your brand? Does it showcase your expertise and/or personality? One of the most marketable tools in your writer repertoire is your voice — use it smartly.

      7. Launch

      Celebrate! Toast to yourself, do a little dance, pat yourself on the back. You did it! Your website is up and running! You should be proud. We know that having something living, breathing out there on the web can be nerve-wracking. Don’t worry about your website not being perfect. The important thing is that it’s out there.

      Remember, you can always perfect and tweak over time. Most importantly, people can start finding you — and you have something you can improve on.

      7 Mistakes to Avoid When Setting Up Your Writer Website

      When you’re starting out with your website, it’s inevitable to face a learning curve. Some things just take time to learn. You will improve over time. But guess what? We want you to succeed —  as soon as possible. So we’re giving you some inside knowledge: a list of thou-shalt-nots when setting up your freelance writer website. Avoid these major whoopsies, and you’ll be one step ahead in attracting quality writing jobs.

      1. Bad Visuals

      Let’s talk a little science. Did you know 90% of the information processed by the brain is visual? What’s more, 80% of people remember what they see (compared to 10% of what they hear and 20% of what they read.) Lastly, know that visuals help grow traffic — content creators who feature visual content grow traffic 12 times faster than those who don’t.

      Not having visuals as a part of your freelance writer website is a BIG no-no. But even more, having bad visuals can torpedo your chance at building a successful freelance writing business. Judgments on a company’s credibility are 75% based on the company’s website design, so take seriously the first impression you’re making with your visuals. Your visuals should be reflective of the quality work you offer, proving you trustworthy to potential clients and their money.

      To benefit from the traffic-building and engaging powers of excellent visuals, select quality images, a robust visual structure, and remember: white space is good space.

      2. CTA Issues

      When visitors come to your website, you want them to do something. But if you don’t ask them to do anything, they will click away and you won’t get any business. Not ideal. Even if you have kick-butt writing skills and excellent website design, having confusing, conflicting, or nonexistent CTAs (70% of small biz websites lack a CTA) will damage your chances of growing your business.

      So think: what do you need visitors to do to get writing gigs for your business? Whether it’s subscribing to an email list, filling out a contact form, or viewing your portfolio of work, make sure that your CTA is visible, clear, and focused.

      Elna of Innovative Ink has a clear CTA front and center — visitors know just what to do.

      3. Sloppy Formatting

      You’re not just a freelancer — you are a brand. As such, your potential clients expect a level of professionalism from you, so they need to see that the minute they click onto your site. Along with clear navigation, focused visual structure, and a frictionless contact funnel, your website needs to be fine-tuned, sleek, and polished.

      Even as a freelancer, an entrepreneurial free spirit, you need to channel those suit-and-tie vibes on your website to gain the trust of potential clients. No sloppy formatting, no error-filled copy, or overly-casual design. Concern yourself with the details. If you want people to trust you with their dollars, you need to be professional. Not only does meticulous formatting help your site design make a killer first impression (remember the eye-opening stats about visuals?), but it helps people view you as a trustworthy business.

      4. TMI (Too Much Information)

      Don’t get us wrong; it’s great to be personable and relatable. A critical part of your brand’s success is your likability. You want to be a person to visitors and potential clients, not just a robot writer behind a screen.

      But your website is not your online diary.

      Refrain from sharing too much personal info or content irrelevant to your field. Focus your content and be strategic about what you choose to share, making it all in the aim of building your business and earning clients.

      5. No Target Audience

      You have a brand-spankin’-new freelance writer website and are ready to bring in traffic, and ideally, new business. But who are you trying to reach through your website? What kinds of people are you looking to attract? In simple terms: who is your target audience?

      Your success is hugely determined by how you focus your efforts on building a business. If you cast too wide a net, you won’t be able to effectively target the high-quality clients that you want. So before you start seeking to build traffic, identify your target.

      6. Weak Copy

      You’re a writer. Skilled wordsmithing is your talent, your money-making tool, and your passion. That being said, every aspect of your website should reflect your abilities as a writer. Weak, lackluster copy will not earn you clients, build trust, or engage visitors. In fact, it will send potential clients to your competitors.

      Take special, even meticulous care in making sure that your copy is strong, engaging, and polished. Whether you’re writing blog posts, articles, or landing page copy, don’t just wing it — write and rewrite, seek a second pair of eyes for outside observation, and edit, edit, edit. The strength of your copy will make or break your business.

      7. Infrequent Updates

      Reality check: creating a money-making freelance writer website isn’t a one-and-done affair. Just like software needs regular updates, so does your website. Not only do periodic refreshes help you out SEO-wise, but they keep things relevant and professional. Update blog content, test plugins, solicit feedback, and use site analytics frequently to adjust how it operates for maximum UX. Know that you won’t always get things right the first time — continually be looking to improve all aspects of your website.

      Handy Resources for Starting a Writer Website

      Don’t worry — we’re not going to just throw you out to the web’s wolves without a few more top-tier tools for your burgeoning freelance writer website. Here, we offer you a well-curated roundup, a well-stocked toolbox of handy virtual resources destined to help you reach your goals.

      Web Hosting

      We know we’ve mentioned this before, but a good web hosting provider can make all the difference for the success of your freelance writing business. It’s true. Not only can a reliable hosting provider help make creating content easy, but it can make the management of your website a snap, leaving you to focus on the most crucial aspects of running your writing business.

      With DreamHost Shared Hosting plans, we offer you those benefits and more — including 24/7 support, high-performance tech, and budget-friendly options. Choosing a hosting provider is one of the first choices you’ll make on your journey — make it a smart choice with DreamHost.

      DreamHost’s Shared Hosting

      Logo

      Like we’ve said, your freelance writing business is just that: a business. And most companies out there are easily identified by a unique marker — their logo. Think about any famous company: Nike, Apple, McDonald’s — you can quickly think of their logo just by seeing the name, right? Or you’d be able to pick it out easily if you just saw the logo’s telltale visual?

      Having your own logo is an integral part of establishing and building your brand. It’s essential for consistency, visibility, and growth. But don’t worry; making one that your visitors will love isn’t hard to do.

      Brand Colors

      In addition to your logo, you should establish a color palette that is unique to your brand. This will help your website and materials feel cohesive and professional and can even help you grow your business by highlighting relevant sections or CTAs with specific colors. Picking your brand colors is as easy as 1-2-3, but remember to be intentional about your personal branding choices.

      Stock Images

      We’ve already emphasized how significant visuals are for helping bring in traffic and engage visitors. So where do you get professional-looking images and other visuals? Try Pexels or Unsplash for high-res, royalty-free photos, or find a photographer to take some for you. If you’re ambitious, follow a DIY at-home photography guide to snap your own for cheap. And remember, copyright rules rule, so keep things legal. Give credit where necessary and don’t steal.

      Photo Editing

      You don’t have to be a Photoshop master to give your images that extra oomph. Crop, adjust, and enhance your photos to improve composition and make your website visuals a powerful tool in earning your business. Try a few simple photo editing tricks on the software of choice.

      Icons

      As another type of visual, icons or symbols on your website can make it easy for visitors to find exactly what they’re looking for — whether it be your social media pages, your portfolio, or contact form — without even having to navigate menus or copy. They’re a universal language! Get great-looking icons on sites like The Noun Project, Creative Market, or for free on Flat Icon.

      Design

      Your freelance writer website should have its own unique feel. After all, you are your unique brand. Your design incorporates not only your layout, but the style of your copy, visuals, and navigation. A well-designed website is carefully thought-out for ultimate functionality and aesthetic, and we’ve got the guide to help you make it look snazzy.

      If you don’t have an eye for design, DreamHost can help. We’ve partnered with the experts at RipeConcepts, a leading web design firm, to offer professional web design services to our users.

      Professional Website Design Made Easy

      Make your site stand out with a professional design from our partners at RipeConcepts. Packages start at $299.

      The Final Word

      Now, we’ll reveal the results of our crystal ball reading: we see a bright (and prolific) freelance writing career in your future! Getting quality writing gigs may take some website-building legwork, but with a well-built site, you’re well on your way to new clients and a growing portfolio.

      Because your success is our success, DreamHost offers you the perfect beginning-of-the-journey hosting packages to get you on your feet. Check out our comprehensive Shared Hosting plans to start taking your career to the next level with a freelance writing website.



      Source link