I am sure you have had a customer request to have a print option on their website where the page will fit neatly onto a printed piece of 8.5 X 11 paper. The reality here is that printing a website is not practical nor is it something that we can fully support.
The Why
As I am sure you already know, websites have evolved greatly over time. What was once just simple HTML code meant to simply convey a point, has evolved into beautiful graphics and an immersive experience. Printing off the text from a website built entirely from the basics is simple enough, but with our robust platform in place it is not quite so simple. Not only do we have HTML, but we now have many other coding languages working together to create the beautiful sites that our customers crave. When you combine HTML, CSS, PHP, JavaScript, etc. you get a fantastic front-end experience that a user can lose themselves in, but the simple fact that we have all this going on in the backend is the reason you cannot simply make a site print worthy. There is not really a way to tell all these things working together to fit on a piece of paper and still look good.
What We Can Do
The customer can create a PDF with the info they want the user to download or take a screenshot and we can place a button on the site for them to download/print it. We should not be creating screenshots or PDFs on behalf of the customer. If you would like to help walk the customer through how to take a screenshot or create a PDF, you may do so, just be sure the customer understands that we will not do this part for them.
OR
On WordPress we can add the social share module which has a print feature built in. Please note, we cannot customize the way the page prints. We can only hide certain elements on the page from printing. The customer must be made aware of this limitation, and understand that there is very little we can do to make it look just like the website.
For Builders
To hide certain items on print, use the following media query in your CSS. Be sure you are following the CSS best practices and adding appropriate classes to the items in question.
@media print {}