Hi,
I barely use web-mode because I seldom write HTML etc, but I use
company-mode a lot and find it sometimes tricky to setup.
I noticed that you set company-backends locally, but you have to make
sure it's actually being called.
You can tackle it down by 2 steps:
1. Try command 'company-web-html' or something provided by your company
web-mode package. If it's giving you the completions, this step is
passed. Otherwise, you have problem setting up the package itself.
2. Try command 'company-diag' to see what back-end it's using currently,
and if the back-end it's using is not what you want, maybe you have to
set the company-backends without append. For example:
(defun web-mode-setup-company ()
(make-local-variable 'company-backends)
(setq company-backends '(company-web-html)))
(add-hook 'web-mode-hook 'web-mode-setup-company)