I found the definition of SVM polynomial kernel is $$K (x, x′) = (1 + (x · x′))^p$$ I want to know why it add $1$?
Does the kernel $K (x, x′ ) = (x · x′ )^2 $ a linear kernel or a polynomial kernel? Why?
It would be a homogenous polynomial kernel. The constant is usually a hyperparameter that can be changed in most SVM implementations. When it is present (non-zero) the kernel is inhomogenous. What this constant should be will likely depend on your data.
For more details, see https://en.wikipedia.org/wiki/Support_vector_machine#Nonlinear_classification.