I have a Hindi magazine website hosted on Joomla. Though helpful from publishing point of view the site was a maintenance nightmare. Joomla is so much susceptible to hacker attacks. My host will often shut down my site due to bots attacking my website. Recently I relaunched the site as a new Wordpress based site on a different name. The Joomla based website would therefore never be updated anymore. However, I do want to maintain the old content. I have used PHP but hardly am a power user.
I want to convert the files as plain HTML. I created a mirror of the website using HTTrack. But thanks to the fact that Joomla had variety of URLs for the same page (if you used a SEF URL plugin you would understand) the mirror is full of redundant content. Moreover I have repetitive HTML content (for header,footer,menu etc) in each page.
My questions are:
Which is a better option, create a static HTML site or PHP4.x pages (with Unicode content and having include PHP fragments for repetitive content)?
If latter is better should I use template system like Smarty? I am worried about caching since the content will hardly be updated I want caches to last forever.
Thanks for the help.
If the content is not going to change frequently I recommend using HTML files. They are static and hence faster.
However, if you are going to be updating content frequently, then you can either upgrade to the latest version of any popular CMS preferably joomla or drupal. I cite these two because they are actively developed and you can get a lot of support for them on the internet. Be sure to follow their security guide for hardening your installation.
If I were you I'd move everything over to WordPress since you have started using this. This way you will be maintaining a single website application keeping things better manageable in the long run.
You can copy the data out of Joomla using the Joomla administration interface. Or maybe even quicker using a database tool like MySQL Tools or Navicat which has a lot of export options.
Copying the HTML from Joomla using tools like HTTrack or TelePort Pro will result in lots of duplicate code and pages like you state.
Maintaining an extra PHP site just for the old content will be as much effort as getting everything into WordPress.
The "Static Content" project at: https://github.com/juliopontes/staticcontent does exactly what you are after although it looks like it may need to be updated for Joomla 3.5.
Related
Im stuck with supporting some ExpressionEngine sites and I'm trying to check this CMS into source control.
I am failing since I cannot see a way to decouple the database from the templates and other structures. I'd like to be able to version control aspects in the CMS including content and channel creation as well as template creation and modification.
I'm not sure why you say that EE is a legacy system, they actually just pushed out their v2.8 a few days ago and have been updating the system for years.
If you're familiar with WordPress, the process really shouldn't be too different. You need to save templates as files and version control those along with system files. You're most likely not going to be version-controlling the database similar to the way you wouldn't be doing that with WordPress.
Simply turning to Google would probably give you hundreds of answers about how to do this but I'll leave you with what I consider to be the most definitive reading on the subject:
http://devot-ee.com/articles/item/version-control-for-expressionengine-using-git-part-1
Have you saved the templates as text files? Once you do that, you can then just backup the template folder. http://ellislab.com/expressionengine/user-guide/templates/templates_as_files.html
My questions about Wordpress
From what I can gather, Wordpress is fast becoming the norm for building content managed websites. Up until now, I have used my own CMS systems to allow my clients to manage their sites content etc. However, I was recently asked to build a Wordpress driven website, and as the client insisted on using Wordpress, I subsequently lost the contract...
Resultantly, I am very keen to learn how to build and program a Wordpress site from scratch. I am not interested in templates provided when you install Wordpress on your server, I am only interested in building a fully bespoke website, with the ability to update the content using the Wordpress management engine.
I therefore have the following questions with regards to how Wordpress works (I am completely new to this).
Can I build a completely bespoke designed website and have Wordpress manage the content?
Are there any limitations to using Wordpress to manage the content?
Can I specify which content is editable?
Are there any 'from the ground up' tutorials on starting to build bespoke Wordpress driven websites?
Where can I find the documentation for the Wordpress API (if there is one)?
Do I install Wordpress in the same way that I would if I was using the built in template engine? In other words, do I still install Wordpress as a package in Plesk for the particular domain?
Does the code have to be in a specific format, or structure?
I effectively would like to find (or be pointed to) an article that clearly explains how Wordpress works and how advanced web developers can make the most of it.
I appreciate that this question is not really related to programming, if it needs to be moved then please advise as to where I can re-post it.
My Research
I appreciate that the answers to these questions will be located somewhere on the web, but thus far, I have been unable to find any really helpful tutorials on this specific topic.
I have read through pages such as the following, and whilst they were helpful, they do not really explain 'in brief' what Wordpress is and how it can be manipulated:
Where to start
Features and Functions
I below is my answer.
Can I build a completely bespoke designed website and have Wordpress manage the content?
Yes you can. Here you can find some sites that are built on wordpress. You can get an idea of what kind of stuff can be done.
http://designwoop.com/2011/12/best-wordpress-themes-of-the-year-2011/
http://www.tripwiremagazine.com/2012/07/wordpress-websites-examples.html
Are there any limitations to using Wordpress to manage the content?
According to my experience building wordpress websites, plugins and widgets, I would say you will rarely come across where you want to do something and you can't. If you know well enough php and understand OOP you can basically build whatever you want. In fact there are so many plugins that most of the time you could even get away with not writing anything (in your case this is irrelevant as you want to learn).
Can I specify which content is editable?
Yes. Other wise there is no point of using any CMS. I am sure this would be the most basic feature of any CMS out there.
Are there any 'from the ground up' tutorials on starting to build bespoke Wordpress driven websites?
Here are few tutorials you can start with.
nettuts
css-tricks
wptuts
And of course the best way to learn is the starter theme that comes as default with wordpress installation. You can find more themes here.
Where can I find the documentation for the Wordpress API (if there
is one)?
The wordpress documentation is quite detailed covers most of the things. While learning or even further this will be your best resource. I usually tend to read the code itself if I want to know how the function works and other details which of course documentation won't cover.
Do I install Wordpress in the same way that I would if I was using
the built in template engine? In other words, do I still install
Wordpress as a package in Plesk for the particular domain?
Installing wordpress is as simple as copying it to your server and accessing it via the browser. You will get on screen step by step instruction. It could not be easier than that. And if somehow you got stuck, there are hundreds of tutorial online or you can visit the wordpress codex site.
Does the code have to be in a specific format, or structure?
Of course you would be following the wordpress coding style (not necessary for but recommended for sake of being consistent). Depending on your skill level you will fairly pick up the standards.
If you are building plugins or widgets, which I assume if you want to build sophisticated websites, you must follow the coding standards.
By the sounds of it, you need to learn about writing a theme from scratch. A Wordpress theme gives you absolute control over the HTML that's outputted by the engine. You can therefore customise your site to look however you want it to look. My company website, tec20, was designed this way without any themes used from wordpress.com. Obviously the themes are aimed at writing blog sites, but you don't have to include any of the commenting hooks, for example.
These tutorials may help:
http://rockablethemes.com/wordpress-themes-tutorials/
I'm thinking about rebuilding my website from scratch, but this time, using a CMS. Everywhere I turn people tell me to use a cms, but it's only now I'm really considering it. My site isn't too complicated. Is this a good idea in terms of workflow? I'm the only person who will edit the site, so if it's just a matter of workflow and efficiency, should I just convert now before it gets really big?
Sure, a few come to mind.
Deployment complexity. Many CMSes require a database, which means running a database process somewhere, and backing that up, as well as the rest of the code and assets for the site.
More space will be required to hold the CMS code for the manager, framework, libraries, etc.
Bloat could come into play, the CMS may, and likely would, implement features you have no use for.
Additionally any CMS will have some kind of limitations, some things will be more tricky to do than others when compared to a mostly static site.
Just read the code. That's often all the arguments you need. (If your needs are really simple and you don't need plugins and you don't need to write any code yourself I'd still use a CMS, though)
If your site is mainly a design showcase, and doesn't have real content in it, then a CMS will only get in your way and make things harder.
Otherwise, it will mostly be of help.
Along with everyone else's statements. If it's just a small site you don't necessarily need a CMS, but if you are wanting to use a CMS for client projects in the future, why not start now.
Deployment. If you're doing some big changes to your site or testing something, you'll probably want to try it out locally with a development copy of the database. Once you're done, how do you get everything to the live site without overwriting, say, comments that were made on the live site since you created a development copy?
Specialization. CMS's are great for some things, but they're bad at others. What if you want to add more complex functionality to your site? It might be a plugin or module at first, but soon you're writing all this code and you realize you should have just used a framework and built the CMS part yourself.
If it's a simple static site with a single editor and without any aspirations of using complicated functionality and you feel confident enough in your web language of choice, then go for it. Even if you don't feel confident enough, it should be a good challenge.
Write some minor templating so that you can separate your code from your design, have some simple way of adding articles or blog posts or whatever - it could be as simple as including text files from a directory.
Using a CMS, even in their modern and quite usable state will require more resources, hardware-wise. and will probably have a steep learning curve. It will also require maintenance and dilligent security patch application as new vulnerabilities appear. On the other hand a CMS can get you up and running with a basic site quickly, and grow with your needs if you feel like enriching it, as you get to use its large variety of ready made plugins and extensions. You want blog comments with users logging in via OAuth? No problem. RSS? There's an extension for that.
Bottom line is, if this is a simple static site with a single editor as you describe it, it should be trivial to set up some code to run it. You'll spend as much time on its template design as you would on customizing a CMS's template, avoid the initial learning curve a CMS requires, and not worry too much about the resources and maintenance a modern CMS requires. You will, however, be limited in functionality and future ideas by what you can write or integrate yourself.
It depends somewhat on the purpose of the site.
If it is a means to an end of getting information posted on the web, then adopting something like WordPress will quickly get you going, and provide lots of extra functionality that would take a fair amount of time to build in - e.g. stats, feeds, remote publishing etc. There are a few basic steps you'll need to go through setting up self-hosting on a shared web-hosting package e.g. creating the DB and unzipping the files etc but fairly straightforward really. And the time you save administering your website can be focussed on other things where you're making a difference or doing something different to everyone else.
However if your purpose is in part the learning experience of developing the functionality or you have unusual requirements that aren't in a standard CMS, then there is an argument for developing your own.
I know Joomla as a CMS manager, which is a system that manages different contents (texts, media,... etc).
But people tend to say: ALWAYS use joomla for your pro projects... bla bla
Let's imagine I need to do the following:
A web site where registered users post quotes (like in chucknorrisfacts.com for example), quotes are moderated, then published to people. And quotes have comments (from registered users).
How would Joomla help me easily building such a website ?
Because I think I can develop it very fast by starting from the scratch, but in another hand I'm very very interested in using Joomla as a base in order to learn it, and experience CMS methodology.
The Joomla administration console helps putting components on the websites and all that stuff, but what happens when we do need to store user input, submit it to users moderation, then publish this content and allow comments on it ? Does this require Joomla plugin development ? Or is there another road that could be taken...
My question might seem noobish, that's because this is going to be my first experience with a CMS though.
Wow. Where to start. First, the Joomla core does not support all of the requirements as it does not have a built in commenting system. Next, plenty of "pro" sites use Joomla, Wordpress, and Drupal. Big sites with big traffic and big budgets. More and more corporate sites are going looking to OS CMS, they have really come a long way in the last couple of years. Last, Joomla 1.0 stopped being supported a LONG time ago. Since 1.0, 1.5 released and had 22 updates, and 1.6 released earlier this month.
As for the original question, Joomla would be an excellent choice for the requirements described because it can easily be done with just K2. You can set up a specific content type for quotes, assign registered users as authors that can submit content, and turn on commenting for registered users. All of this is built in to K2 without any modifications.
I think Joomla does support that from core.
The quote of using joomla on pro sites is WRONG.
The real pro sites are custom build or use a professional CMS.
The semi pro sites use joomla (or any other OSS CMS).
Why?
Joomla is (at least the 1.0 version) slow, and not friendly to your server.
Also Joomla is vulnerable to attacks from script kiddies.
Not as unsafe as Wordpress though...
I'm helping a client with their website (it's manually written using a Dreamweaver template and a ton of quadruple-nested table elements for design. Ouch), and I want to offer them a break from using Dreamweaver to write things.
I was thinking of using Wordpress or a similar CMS to do the job, as Wordpress is clean, fast, and really easy to design for. I've done it a few times, and it's almost as easy as just coding pure HTML.
My main concern is that the site has been hacked a few times before, even though it was pure HTML with no server-side code whatsoever. I can setup a manual Linux server for them, because the hosting company they use is one that I've never heard of.
The site owners are completely technologically impaired, so I don't want to scare them off by showing them a dynamic CMS with tons of features, as they think pure HTML is so much safer, they have to go out of their way to work with it.
I know this is a ton of writing, but what would be the most appropriate CMS for such a setup (hard-coding or dynamically generating content) for such a setup? I don't want to keep having the person manually write non-standards compliant quadruple-nested table layouts anymore, but I don't want to be responsible for having their site hacked...
Thanks!
A solution that allows for local editing, and the uploading of only static HTML files, would be the safest way to go. If it's a high-risk site, I would consider staying on that track.
If a site containing only static HTML was hacked, then most likely through some problem on web server or even operating system level - I am not aware of any exploits concerning static HTML resources. Problems usually come up when dynamic languages are involved.
Whatever you do, don't use Wordpress. It is bound to be subject of exploits and attacks simply due to its popularity.
If the site is pure HTML, then the insecurity is in the server, or the connection made between the server and the client.
I'd look into how to make the server more secure before making changes to the site, although doing both is a good idea. CMS's like WordPress use MySQL databases to store posts, etc, so that means client -> server connections. A way to make transfers of data more secure is to use https:// instead of vanilla http://. You can redirect using a .htaccess file if need be.
To summarise, I'd look at the server side of things for any vulnerabilities.
James
Wordpress has become a pretty wonderful CMS. If the site is high-risk, you might want to shy away from it, but I haven't had a site that I thought was too high-risk for WP myself. The site should keep up with regular updates and regular backups and there are some security tips that you can follow to help keep it more secure and less of a target.
First. Hide WP on the front end
Add this to your functions.php:
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
That will remove default header info that can be searched for by scripts.
Install wp in a directory that will help obscure its location and obscure the admin URL.
Change the name of wp-contents folder to something else and move it outside of the main wp directory. For instance, you could name it "includes" and put it into the root folder. and then links to template files will not have wp-contents in them.
On top of that, use a secure host, lock down your files (especially on shared hosting), and you can look at something like vaultpress, but it seems like if you use a solid backup plugin and a good host, that is unnecessary. You can also look at some of the security audit plugins, but don't keep them running after you get feedback.
This code in your wp-config.php file will help to install in a directory and move wp-contents outside of it into an "includes" folder:
define('WP_HOME', 'http://domain.com');
define('WP_SITEURL', WP_HOME .'/admin');
define('WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'].'/includes');
define('WP_CONTENT_URL', WP_HOME .'/includes');
Wordpress is good for blogs
Typo3 is a good cms but hard to learn at start
Joomla and Drupal can be used as cms